0

ViewModelにプロパティがあり、その中にいくつかのネストされたリストを含む「プロジェクト」と呼びます。トリガーとバインディングを使用してxamlですべてを表示できるため、このようなリストにはビューモデルに関連付けられたプロパティがありません。私のxamlは、プロジェクト階層をツリービューで表示し、その詳細をいくつかのビューで表示します(コンテンツコントロールは、ツリービューで選択されているアイテムに応じて適切なビューを選択します)。それらの「詳細」の1つは、ネストされたリストの1つに含まれるオブジェクトのプロパティです。ユーザーが編集できるようにテキストボックスに表示しています。私が抱えている問題は、そのプロパティが更新されていないことです。テキストボックスで変更を加えたら、VMのProjectプロパティで。編集しようとしている特定のオブジェクトのプロパティに対して、VMにプロパティを作成する必要があると言われました。

4

1 に答える 1

0

よくある間違いは次のとおりです。

TwoWay の代わりに OneWay バインディング モードを使用する

XAML の場合:

<TextBox Text="{Binding Path=Name, Mode=TwoWay}" />

TextBox がフォーカスを失うまで、更新が VM に伝達されないことを認識していません。

これは TextBox のデフォルトです。

<TextBox Text="{Binding Path=Name, UpdateSourceTrigger=LostFocus}" />

次のように変更できます。

<TextBox Text="{Binding Path=Name, UpdateSourceTrigger=PropertyChanged}" />    
于 2012-05-18T07:20:26.780 に答える