嘗試在不添加其他顯示字串的情況下將枚舉值顯示為ComboBox 中的項目已證明不成功。 XAML 程式碼使用綁定到類別屬性,但枚舉值不會出現。
透過程式碼綁定
在載入的視窗中事件處理程序,使用枚舉填充ItemsSource 屬性值:
yourComboBox.ItemsSource = Enum.GetValues(typeof(EffectStyle)).Cast<EffectStyle>();
在XAML中綁定
使用ObjectDataProvider:
<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>
命名空間映射
注意別名的使用命名空間映射
xmlns:System="clr-namespace:System;assembly=mscorlib" xmlns:StyleAlias="clr-namespace:Motion.VideoEffects"
注意別名的使用命名空間:
有關命名空間和程序集的正確映射,請參閱MSDN 文件.以上是如何將枚舉綁定到 WPF ComboBox?的詳細內容。更多資訊請關注PHP中文網其他相關文章!