vinduer - XAML Binding i binding

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg vil gerne binde 'MenuItemDescription'
Hvordan?


Text="{Binding Path=LocalizedRessources.MenuItemDescription, Source={StaticResource LocalizedStrings}}"


På forhånd tak


redigere:


Jeg vil forsøge at være mere eksplicit:
Jeg vil gerne erstatte 'MenuItemDescription', som i øjeblikket er hardkodet af en streng dynamisk ved hjælp af en binding


Undskyld for min engelsk, jeg bruger google translate til at hjælpe mig

Bedste reference


Jeg gætter på, at du enten vil binde til en streng defineret i en Windows ressourcefil (.resx), eller du vil bruge en værdi, der er defineret i en WPF-ressourceordbog.


For det første tilfælde skal du binde til en statisk ejendom, f.eks .:


<TextBlock Text="{Binding Source={x:Static
MyApplication:LocalizedResource.MenuItemDescription}}"/>


Da du kun kan binde til statiske statiske egenskaber, skal du ændre adgangsmodifikatoren for din LocalizedResources.resx til offentlig (standard til intern). Åbn ressourcefilen, og du kan ændre adgangsmodifikatoren.


For det andet tilfælde skal du definere strengen i en ressourceordbog (muligvis app.xaml) og derefter bruge den som en statisk ressource, f.eks .:


I din ordbog


<System:String x:Key="MenuItemDescription">My menu item</System:String>


I din kontrol


<TextBlock Text="{StaticResource MenuItemDescription}"/>