2009-03-01 7 views
3

binden Ich habe eine einfache .Net enum. Ich habe auch ein View-Modell-Objekt, das eine "CurrentValue" -Eigenschaft des Typs meiner Enumeration hat. Diese Eigenschaft kann datengebunden sein (das Objekt implementiert INotifyPropertyChanged). Jetzt möchte ich für jeden Wert der Enumeration ein UI-Element in einer bestimmten Reihenfolge anzeigen lassen und den "CurrentValue" (fett) hervorgehoben haben. Ich würde die Erklärung mag etwas sein wie:Wie kann ich an eine Enum in WPF mit einem "aktuellen" Wert

<StackPanel Orientation="Vertical">    
    <ContentControl Content="{x:Static MyEnum.Value1}" /> 
    <ContentControl Content="{x:Static MyEnum.Value2}" Margin="10" /> 
    <ContentControl Content="{x:Static MyEnum.Value3}" /> 
</StackPanel> 

Ich mag jeden Wert einzeln erklären, um die Reihenfolge zu bestimmen, sondern auch, weil ich einige der Elemente will spezifische Randwerte haben. Außerdem möchte ich später spezifische Symbole für jeden Wert anzeigen.

Jetzt bin ich verloren, wie ich erklären kann, dass ich das mit dem CurrentValue verbundene Steuerelement fett sein soll. Ich habe versucht, einen generischen DataTrigger innerhalb einer Vorlage zu verwenden, um den Inhalt gegen den CurrentValue zu überprüfen, aber es scheint, dass der Wert eines Triggers keine Bindung sein kann.

Ich dachte auch über eine deaktivierte ListBox nach, aber dann kann ich keine bestimmten Ränder für bestimmte Elemente haben. Oder kann ich?

Antwort

1

die Sie interessieren für Größe ...

<ListBox> 
    <ListBoxItem><local:MyEnum>Value1</local:MyEnum></ListBoxItem> 
    <ListBoxItem Margin="10"><local:MyEnum>Value2</local:MyEnum></ListBoxItem> 
    <ListBoxItem><local:MyEnum>Value3</local:MyEnum></ListBoxItem> 
</ListBox> 

Hier finden Sie die local xmlns auf Ihre CLR-Namespace zuordnen müssen.

+0

Hmm warum habe ich nicht daran gedacht! Vielen Dank! –

+0

Keine Sorge. Ich musste vor ein paar Tagen etwas Ähnliches machen. Aber ich habe Ihre Frage nicht vollständig beantwortet ... Ist es Ihnen gelungen, den Aufzählungswert des Datenkontextes fett zu setzen? –

+0

Nicht ganz, wird später in dieser Woche daran arbeiten :) Aber ich habe schon einige Ressourcen dazu gefunden. Danke noch einmal! –