WPF MVVM combobox获取用户输入的值
时间: 2023-09-20 08:06:01 浏览: 205
在 WPF MVVM 中,可以通过以下步骤获取用户在 ComboBox 中输入的值:
1. 在 ViewModel 中创建一个字符串类型的属性,用于存储用户输入的值。
2. 在 View 中,将 ComboBox 的 IsEditable 属性设置为 True,这样用户就可以在 ComboBox 中输入文本。
3. 使用 Binding 将 ComboBox 的 Text 属性绑定到 ViewModel 中的属性。
4. 在 ViewModel 中,使用 PropertyChanged 事件监听属性值的变化,并将新的值存储到属性中。
以下是示例代码:
在 ViewModel 中:
```C#
public class MyViewModel : INotifyPropertyChanged
{
private string _userInput;
public string UserInput
{
get { return _userInput; }
set
{
if (_userInput != value)
{
_userInput = value;
OnPropertyChanged("UserInput");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
```
在 View 中:
```XAML
<ComboBox IsEditable="True" Text="{Binding UserInput, Mode=TwoWay}" />
```
这样,在用户输入文本并离开 ComboBox 后,ViewModel 中的 UserInput 属性就会被更新为用户输入的值。
阅读全文