数据形式中的Combobox绑定与MVVM未触发PropertyChanged

时间:2011-05-01 19:45:17

标签: silverlight data-binding mvvm

我的视图模型中有一个绑定到ObservableCollection<Model.Parameters> Parameters对象的数据表单。在我的editTemplate中,左列绑定到Parameters对象中的属性。右栏是一系列ComboBoxes。每个的绑定设置如下:

<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绑定到名为Accounts的ObservableCollection,这只是我在VM中加载时填充的Accounts列表。然后将SelectedValue绑定到(在本例中)我的Parameters对象的HWIPInstall属性。当我在我的ReadOnlyTemplate(仅一系列文本框[无组合]直接绑定到我的参数对象)和我的EditTemplate之间切换时,组合框正确显示一个帐户列表。 SelectedValue也正确设置。但是,当我更改组合框时,它似乎不会触发INotify,因为我的数据表上的“确定”按钮不会改变。但是,如果我更改文本框,“确定”按钮会亮起,并调用我的SaveParameters方法。

关于上述的说明。如果我在SaveParameters方法上设置断点,我可以看到我的Parameters对象已更新文本框更改,并且组合框更改,因此我知道当组合框更改时我的Parameters对象正在更新,但这些更改都不会触发iNotify。

你的想法?

1 个答案:

答案 0 :(得分:0)

哇,哇。我在我的模型上使用自动属性。我的ViewModel实现了INotify,但我的模型不是。