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