Heim >Backend-Entwicklung >C++ >Wie kann ich eine Enum einfach an eine WPF-ComboBox binden?
Binden einer Aufzählung an eine ComboBox in WPF: Ein klarer und prägnanter Ansatz
Für diejenigen, die einen unkomplizierten Ansatz zum Binden einer Aufzählung an eine suchen ComboBox in WPF, dieser Artikel bietet eine kurze Zusammenfassung Anleitung.
Problem:
Versuch, eine Aufzählung mithilfe der BindingPath-Eigenschaft an eine ComboBox zu binden, stellt jedoch fest, dass die Aufzählungswerte nicht als Elemente in der sichtbar sind ComboBox.
Lösung:
Codebasierte Bindung:
Verwenden Sie im Window Loaded-Ereignishandler diesen Code:
yourComboBox.ItemsSource = Enum.GetValues(typeof(EffectStyle)).Cast<EffectStyle>();
Dieser Code ruft die Enum-Werte ab und legt sie als ItemsSource für fest ComboBox.
XAML-Bindung:
Um in XAML zu binden, verwenden Sie einen ObjectDataProvider:
<Window ...> <Window.Resources> <ObjectDataProvider x:Key="dataFromEnum" MethodName="GetValues" ObjectType="{x:Type System:Enum}"> <ObjectDataProvider.MethodParameters> <x:Type TypeName="StyleAlias:EffectStyle"/> </ObjectDataProvider.MethodParameters> </ObjectDataProvider> </Window.Resources> <Grid> <ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}" SelectedItem="{Binding Path=CurrentEffectStyle}" /> </Grid> </Window>
Denken Sie daran, den Namespace und die Assembly mithilfe von xmlns anzugeben .
Dieser Ansatz bietet eine klare und unkomplizierte Möglichkeit, eine Aufzählung an eine WPF-ComboBox zu binden, ohne dass Komplexität zusätzlicher Anzeigezeichenfolgen.
Das obige ist der detaillierte Inhalt vonWie kann ich eine Enum einfach an eine WPF-ComboBox binden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!