DataContextとしてビューモデル(CharacterViewModel)を持つViewCharacterページがあり、そのCharacterViewModelには、ListBoxがItemSourceとして使用しているWeaponViewModelのObservableCollectionがあります。ListBoxのDataTemplateには、親ページのビューモデルのObservableCollectionのWeaponViewModels用に設計されたUserControlが含まれています。UserControlのボタンのCommandParameterを、親ページのビューモデル(CharacterViewModel)のプロパティにバインドする必要があります。私は{Binding DataContext.TargetProperty, RelativeSource={RelativeSource TemplatedParent}}
成功せずに使用しようとしましたが、すべてのMVVMパターンを完全に壊さずに何をすべきか途方に暮れています。
質問する
565 次
1 に答える
0
Windows Phone 7 には、相対ソース バインドがありません。ここで Silverlight の実装を作成しました。
http://www.scottlogic.co.uk/blog/colin/2009/02/relativesource-binding-in-silverlight/
しかし、パフォーマンスが重要な WP7 では、使用を避けます。
代わりに、 と の関係CharacterViewModel
をWeaponViewModel
双方向にすることをお勧めします。つまり、所有する への参照となるParent
プロパティを追加します。その後、このプロパティを介してプロパティにバインドできます。WeaponViewModel
CharacterViewModel
CharacterViewModel
于 2012-09-05T05:12:04.483 に答える