Laden...

Resourcenwörterbuch in Wpf benutzen

Erstellt von KingPin vor 13 Jahren Letzter Beitrag vor 13 Jahren 4.720 Views
K
KingPin Themenstarter:in
376 Beiträge seit 2005
vor 13 Jahren
Resourcenwörterbuch in Wpf benutzen

hallo forum,

ich habe ein benutzerwörterbuch geschrieben-hoffe das es so weit richtig ist..

nun versuche ich es einzubinden.. werde allerdings nicht richtig schlau daraus..
entweder bekommt ich ne fehlermeldung, dass die angaben nicht gefunden werden können, oder die steuerelemente nehmen die vorgaben nicht an...

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Style x:Key="windowStyle" TargetType="{x:Type Window}" >
        <Setter Property="Background" Value="AliceBlue"></Setter>
    </Style>
    <Style x:Key="usrControlStyle" TargetType="{x:Type UserControl}">
        <Setter Property="Background" Value="AliceBlue"></Setter>
    </Style>
    <Style x:Key="lblSytle" TargetType="{x:Type Label}">
       <Setter Property="Control.FontSize" Value="11"/>
       <Setter Property="Control.FontFamily" Value="Arial"/>
    </Style>

dies is ein ausschnitt aus dem wörterbuch

und in meinem usercontrol habe ich folgendes gemacht..

<UserControl.Resources>        
        <ResourceDictionary Source="Resources/Dictionary1.xaml" x:Name="resource"></ResourceDictionary>
    </UserControl.Resources>

hat jemand rat?

3.430 Beiträge seit 2007
vor 13 Jahren

Hallo KingPin,

das ganze sieht doch schonmal nicht schlecht aus.
Du musst überprüfen ob der Pfad zum ResourceDictionary richtig ist, wenn er das ist dann muss du noch kontrollieren ob du deinem Window / UserControl oder was auch immer den Style auch zugewiesen hast.

Denn wenn du den Key bei dem Style angibst dann musst du es bei jedem Control manuelle angeben. <MyControl Style="{...}" />

Du könntest aber evtl. auch einfach den x:Key weglassen damit deine Styles automatisch auf alle Controls in diesem besagten UserControl angewendet werden

Gruss
Michael

2.223 Beiträge seit 2005
vor 13 Jahren

Hallo KingPin,

mit dem Key einfach weglassen wäre ich vorsichtig, denn zb beim Window klappt das nicht

Viele Grüße
Lars

K
KingPin Themenstarter:in
376 Beiträge seit 2005
vor 13 Jahren

genau damit habe ich probleme

ich weiss nicht, wie ich z.b. über den key auf die styles zugreifen kann- dann bekomme ich immer die meldung, dass es nicht aufgelöst werden konnte...

wahrscheinlich weise ich es auch falsch zu.. hab alles mögliche durch..

wie ist der normale weg?

und wie kann ich es anstellen, dass das wörterbuch für alle controls gleichzeitig wirkt?

soweit ich weiss, sollte ein verweis genügen...

297 Beiträge seit 2008
vor 13 Jahren

Die Zuweisung über den Key geht folgendermaßen:

<Label Style="{StaticResource lblSytle}" Text="Test"/>

oder als DynamicResource, je nachdem was du brauchst.

Das Zuweisen an alle Controls erreichst du, indem du den Key im ResourceDictionary weglässt, wie bereits gesagt. Allerdings kann es dabei zu Problemen kommen (z.B. beim bereits angesprochenen Window).

There are 10 kind of people, those who understand binary and those who don't.

K
KingPin Themenstarter:in
376 Beiträge seit 2005
vor 13 Jahren

danke für eure hilfe..
läuft!