嘗試將枚舉值顯示為 ComboBox 中的項目時,直接從 DataContext 綁定可能不夠。為了解決這個問題,我們提出了兩種方法來解決這個問題:透過程式碼和 XAML 綁定。
在Window 的Loaded 事件處理程序中,執行以下程式碼:
yourComboBox.ItemsSource = Enum.GetValues(typeof(EffectStyle)).Cast<EffectStyle>();
這將擷取枚舉值並將它們指派為組合框的項目
對於XAML綁定,請使用ObjectDataProvider:
<ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}" SelectedItem="{Binding Path=CurrentEffectStyle}" />
在視窗的資源部分中,定義ObjectDataProvider:
<ObjectDataProvider x:Key="dataFromEnum" MethodName="GetValues" ObjectType="{x:Type System:Enum}"> <ObjectDataProvider.MethodParameters> <x:Type TypeName="StyleAlias:EffectStyle"/> </ObjectDataProvider.MethodParameters> </ObjectDataProvider>
記得申報必要的命名空間:
xmlns:System="clr-namespace:System;assembly=mscorlib" xmlns:StyleAlias="clr-namespace:Motion.VideoEffects"
記得申報必要的命名空間:
這些方法提供了將枚舉綁定到WPF 中的ComboBox 控制項的簡單有效的方法。以上是如何將枚舉綁定到 WPF ComboBox 控制項?的詳細內容。更多資訊請關注PHP中文網其他相關文章!