gpt4 book ai didi

silverlight - 在 Silverlight MVVM 的组合框中更改所选项目时引发 PropertyChanged

转载 作者:行者123 更新时间:2023-12-03 10:40:17 25 4
gpt4 key购买 nike

当组合框中选择的项目发生更改时,如何更改组合框中的属性更改。实际上我想要的是当一个组合框中选择的值被更改时
根据选择的值,其他组合框将被填充。
我已经实现了 INotifyProperty 接口(interface),即使当您选择不同的值时,设置的属性 block 也不会被执行。

让我用一个不同的例子来详细说明一下:-
有两个组合框和一个文本 block ,两个组合框都包含城市名称,所以当用户在第二个组合框中选择城市时,应该调用一个方法,它将给出文本 block 中两个城市之间的距离,我正在这样做使用 MVVM。
问题是我无法调用第二个组合框的设置 block (我将从那里调用给出距离的方法)。

最佳答案

如果使用 MVVM,则需要将 SelectedItem 绑定(bind)到代码后面的属性或 ViewModel 中,确保绑定(bind)是两种方式,并且该属性实现了 INotifyPropertyChanged:

<ComboBox Name="ComboBox1" ItemsSource="{Binding Items}" 
SelectedItem="{Binding Path=SelectedItem,Mode=TwoWay}"
DisplayMemberPath="TextProp" >

public Collection<ItemClass> Items
{
get
{
return _items;
}
private set
{
if (value != _items)
{
_items = value;
RaisePropertyChanged("Items");
}
}
}

public ItemClass SelectedItem
{
get
{
return _selectedItem;
}
set
{
if (value != _selectedItem)
{
_selectedItem = value;
RaisePropertyChanged("SelectedItem");
}
}
}

关于silverlight - 在 Silverlight MVVM 的组合框中更改所选项目时引发 PropertyChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6007045/

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