0

私は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 をどのように認識しますか?

私がやっていることを示すために、ここに小さなサンプルアプリを作成しました:

http://sdrv.ms/17OZv1x

これについて何か助けていただければ幸いです。

ありがとう

4

2 に答える 2