2011-05-01 3 views
1

ビューモデルでObservableCollection<Model.Parameters> Parametersオブジェクトにバインドされたデータフォームがあります。私のeditTemplateでは、左の列はParametersオブジェクト内のプロパティにバインドされています。右の列は一連のコンボボックスです。それぞれの結合は、このように設定されている:あなたが見ることができるようにMVVMのデータフォームでComboboxバインディングが実行されないPropertyChanged

<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> 

は、私は単に私のVMに負荷に読み込まアカウントのリストであるアカウントと呼ばれるのObservableCollection、へのItemsSourceを結合しています。 SelectedValueは、この場合、My Parameters ObjectのHWIPInstallプロパティにバインドされます。私のReadOnlyTemplate(私のParametersオブジェクトに直接バインドされた一連のTextboxes [no combo]のみ)と私のEditTemplateを切り替えると、コンボボックスは適切にアカウントのリストを表示します。 SelectedValueも正しく設定されています。しかし、コンボボックスを変更すると、データフォームの[OK]ボタンが変更されないため、INotifyが起動しないように見えます。しかし、テキストボックスを変更すると、「OK」ボタンが点灯し、SaveParametersメソッドが呼び出されます。

上記に注意してください。 SaveParametersメソッドにブレークポイントを設定すると、Parametersオブジェクトがテキストボックスの変更とコンボボックスの変更の両方を更新したことがわかります。したがって、コンボボックスが変更されたときにParametersオブジェクトが更新されています。

あなたの考えは?

答えて

0

ワウデフ。自分のモデルで自動プロパティを使用していました。私のViewModelはINotifyを実装していますが、私のモデルはそうではありませんでした。

関連する問題