gpt4 book ai didi

wpf - wpf mvvm中组合框的选择更改事件

转载 作者:行者123 更新时间:2023-12-03 10:52:19 26 4
gpt4 key购买 nike

我是 wpf 和 MVVM 的新手,我整天都在尝试在 SelectionChanged 上将 ComboBox 的值传递给我的 ViewModel。我想在选择更改过程中调用一个函数。在 mvvm 中,它的解决方案是什么?

最佳答案

在 MVVM 中,我们通常不处理事件,因为在 View 模型中使用 UI 代码不太好。而不是使用 SelectionChanged 等事件,我们经常使用属性绑定(bind)到ComboBox.SelectedItem :

查看型号:

public ObservableCollection<SomeType> Items { get; set; } // Implement 
public SomeType Item { get; set; } // INotifyPropertyChanged here

看法:
<ComboBox ItemsSource="{Binding Items}" SelectedItem="{Binding Item}" />

现在每当 ComboBox 中的选定项已更改, Item 也已更改属性(property)。当然,你必须确保你已经设置了 DataContext将 View 转换为 View 模型的实例以使其工作。如果您想在所选项目更改时执行某些操作,可以在属性 setter 中执行此操作:
public SomeType Item 
{
get { return item; }
set
{
if (item != value)
{
item = value;
NotifyPropertyChanged("Item");
// New item has been selected. Do something here
}
}
}

关于wpf - wpf mvvm中组合框的选择更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21130850/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com