gpt4 book ai didi

silverlight - 数据表单中的组合框绑定(bind)与 MVVM 未触发 PropertyChanged

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

我有一个绑定(bind)到 ObservableCollection<Model.Parameters> Parameters 的数据表单我的 View 模型中的对象。在我的editTemplate 中,左列绑定(bind)到Parameters 对象中的属性。右列是一系列组合框。每个的绑定(bind)设置如下:

<toolkit:DataField>
<telerik:RadComboBox
ItemsSource="{Binding DataSource.Accounts, Source={StaticResource DataContextProxy}}"
SelectedValue="{Binding HWIPInstall, Mode=TwoWay}"
Width="150"
Margin="0 0 20 0">
</telerik:RadComboBox>
</toolkit:DataField>

如您所见,我将 ItemsSource 绑定(bind)到称为 Accounts 的 ObservableCollection,它只是在我的 VM 中加载时填充的 Accounts 列表。然后将 SelectedValue 绑定(bind)到(在这种情况下)我的参数对象的 HWIPInstall 属性。当我在我的 ReadOnlyTemplate(这是一系列文本框仅 [无组合] 直接绑定(bind)到我的参数对象)和我的 EditTemplate 之间切换时,组合框正确显示帐户列表。 SelectedValue 也设置正确。但是,当我更改组合框时,它似乎不会触发 INotify,因为我的数据表单上的“确定”按钮没有改变。但是,如果我更改文本框,“确定”按钮会亮起,并调用我的 SaveParameters 方法。

上面的注释。如果我在 SaveParameters 方法上设置断点,我可以看到我的 Parameters 对象已经更新了文本框的更改和组合框的更改,所以我知道我的 Parameters 对象在组合框更改时正在更新,但这些更改都不会触发 iNotify。

你的意见?

最佳答案

哇哦。我在我的模型上使用了自动属性。我的 ViewModel 实现了 INotify,但我的 Model 没有。

关于silverlight - 数据表单中的组合框绑定(bind)与 MVVM 未触发 PropertyChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5850872/

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