wpf ComboBox 设置返回值-1,使该控件可以清除已选择项
时间: 2024-03-12 11:48:23 浏览: 21
要实现让 WPF ComboBox 控件可以清除已选择项,可以设置 ComboBox 的 IsEditable 属性为 true,并且在 ComboBox 的 SelectionChanged 事件中,手动判断是否选择了项,如果没有选择项则将 ComboBox 的 SelectedIndex 属性设置为 -1。
以下是示例代码:
XAML:
```xml
<ComboBox IsEditable="True" SelectionChanged="ComboBox_SelectionChanged">
<ComboBoxItem>选项1</ComboBoxItem>
<ComboBoxItem>选项2</ComboBoxItem>
<ComboBoxItem>选项3</ComboBoxItem>
</ComboBox>
```
C#:
```csharp
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (((ComboBox)sender).SelectedIndex == -1 && ((ComboBox)sender).Text == "")
{
((ComboBox)sender).SelectedIndex = -1;
}
}
```
这样,当用户选择了某个选项时,ComboBox 的 SelectedIndex 属性会被设置为对应的值,而当用户清除了选择时,ComboBox 的 SelectedIndex 属性会被设置为 -1,达到清除已选择项的效果。