MVVM Viewmodel 读取Combox下拉值
时间: 2024-10-14 16:11:34 浏览: 21
MVVM (Model-View-ViewModel)设计模式是一种用于用户界面应用程序的架构模式,它将数据模型、视图和控制器分离。在这个模式中,ViewModel(视图模型)作为用户界面和数据逻辑之间的桥梁。
当你需要在MVVM中读取ComboBox(组合框)下拉选择的值时,通常你会按照以下步骤操作:
1. **创建ViewModel**:在ViewModel类中,你可以有一个属性来表示ComboBox的数据源,例如`private ObservableCollection<string> items;`。
2. **绑定数据**:在XAML文件中,给ComboBox设置ItemsSource属性为你的ViewModel的items集合,并使用`< Binding Path="SelectedItem" />`来监听选择的变化。
```xaml
<ComboBox ItemsSource="{Binding items}" SelectedItem="{Binding selectedOption, Mode=TwoWay}">
<ComboBox.DisplayMemberPath="Text"/>
</ComboBox>
```
这里的`Text`是指每个选项显示的部分,而`SelectedItem`则是当用户做出选择时绑定到ViewModel的属性。
3. **获取或更新值**:在ViewModel中,你可以在`selectedOption`属性中处理用户的选取事件,例如通过`OnPropertyChanged("selectedOption")`通知视图更新。
```csharp
public string selectedOption
{
get => _selectedOption;
set
{
if (_selectedOption != value)
{
_selectedOption = value;
OnPropertyChanged("selectedOption");
}
}
}
```
当用户从ComboBox中选择新的项时,`selectedOption`就会被自动更新,并触发视图的刷新。
阅读全文