我是 WPF 的新手,所以请多多包涵。我的 WPF 窗口上有一个 ComboBox,ItemSource 属性绑定到字符串列表属性(Countries),SelectedItem 绑定到字符串属性(SelectedCountry)。这两个属性都在后面的代码中 - 我将 DataContext 设置为“this”(即 Window)。
组合框 xaml 是:
<ComboBox Name="CountryComboBox"
VerticalAlignment="Center"
Width="200"
ItemsSource="{Binding Path=Countries, Mode=OneTime}"
SelectedItem="{Binding Path=SelectedCountry, Mode=TwoWay}">
</ComboBox>
我希望在未选择项目时显示默认的“- Please Select -”选项,因此我在 App.xaml 中放置了以下 xaml:
<Style TargetType="ComboBox">
<Style.Triggers>
<Trigger Property="SelectedItem" Value="{x:Null}">
<Setter Property="IsEditable" Value="true" />
<Setter Property="IsReadOnly" Value="true" />
<Setter Property="Text" Value="- Please Select -" />
</Trigger>
</Style.Triggers>
</Style>
当我的窗口首次显示时,组合框确实具有预期的“-请选择-”文本。然后当我在组合框中选择一个值时,SelectedCountry 会被适当地填充,但是当我将“null”分配给 SelectedCountry 属性时,组合框仍然具有相同的选定国家/地区,而我希望它返回“-请选择——”。我究竟做错了什么?
谢谢。