WPF 中枚举绑定如何清空
比如我在一个List控件中绑定了一个枚举类型的数据源,初始化的时候SelectItem是什么都没有,一旦选择之后SelectItem就有值了,我想再次把SelectItem改变为Null,就像刚刚初始化时那样,我尝试了一些方法都不行,比如让selectItem指向枚举中不存在的一个值或者null等都不行,要实现这样的效果应该如何做??
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
SizeToContent="WidthAndHeight"
Title="Show Enums in a ListBox using Binding">
<Window.Resources>
<ObjectDataProvider MethodName="GetValues"
ObjectType="{x:Type sys:Enum}"
x:Key="AlignmentValues">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="HorizontalAlignment" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
<Border Margin="10" BorderBrush="Aqua"
BorderThickness="3" Padding="8">
<StackPanel Width="300">
<TextBlock>Choose the HorizontalAlignment value of the Button:</TextBlock>
<ListBox Name="myComboBox" SelectedIndex="0" Margin="8"
ItemsSource="{Binding Source={StaticResource AlignmentValues}}"/>
<Button Content="Click Me!"
HorizontalAlignment="{Binding ElementName=myComboBox,
Path=SelectedItem}"/>
</StackPanel>
</Border>
</Window>
[解决办法]
你可以采用后台数据绑定的方式试试
在后台的代码中将绑定的值设置成 null
[解决办法]
设置ComboBox的SelectedIndex=-1即可。