私はMVVMを使用してWPFアプリに取り組んでいます。メイン ウィンドウには、顧客名のコンボ ボックスがあります。顧客が選択されたら、その住所を表示したいと思います。
そこで、Address ユーザー コントロールを作成し、コントロールのコード ビハインドに DP を追加しました。
public static DependencyProperty CustomerIdProperty =
DependencyProperty.Register("CustomerId", typeof(int), typeof(AddressView));
public int CustomerId
{
get { return (int)GetValue(CustomerIdProperty); }
set { SetValue(CustomerIdProperty, value); }
}
次に、メイン ウィンドウで、コンボをユーザー コントロールの CustomerId DP にバインドします。
<vw:AddressView Grid.Row="1"
Grid.Column="0"
x:Name="AddressList"
CustomerId="{Binding ElementName=CustomersList, Path=SelectedCustomer.Id, Mode=TwoWay}"/>
私は今問題と質問があります:
問題: これを実行して顧客を選択すると、DP のセッターが起動しません。メイン ウィンドウの SelectedCustomer プロパティは発生しますが、ユーザー コントロールの DP は発生しません。
質問: コントロールの ViewModel は、DP の CustomerId をどのように認識しますか?
私がやっていることを示すために、ここに小さなサンプルアプリを作成しました:
これについて何か助けていただければ幸いです。
ありがとう