0

私は何か間違ったことをしていると確信しています。

コンテキスト: WPF アプリケーション、MVVM、Entity Framework など。

ウィンドウの ViewModel には、 と の 2 つのプロパティがMemberCountありEventCountます。どちらもintです。

私の見解では、カスタム コントロールの 5 つのインスタンスがあります。ImageDataこのカスタム コントロールには、 、ButtonText、およびの3 つの依存プロパティがありButtonSubTextます。すべてですstring

私がやりたいことは、あるコントロールのプロパティにバインドされ、別のコントロールのプロパティにバインドされるような方法でコントロールをバインドすることMemberCountです。ButtonTextEventCountButtonText

だから私は次の行に沿って何かをします:

<control:MyControl ... ButtonText="{Binding MemberCount, Mode=OneWay}" ButtonSubText="Members"  Background="{DynamicResource MetroRed}" />

私のDataContextウィンドウは正しいViewModelに設定されています。

何を試しても、メンバー数またはイベント数をコントロールに表示できません。出力ウィンドウに次のエラーが表示されます。

    System.Windows.Data Error: 40 : BindingExpression path error: 'MemberCount' property
 not found on 'object' ''MyControl' (Name='button')'. BindingExpression:Path=MemberCount;
 DataItem='MyControl' (Name='button'); target element is 'MyControl' (Name='button');
 target property is 'ButtonText' (type 'String')

私はWPFに慣れてきましDataBindingたが、私の人生では、これを理解できません。

ビュー モデルのプロパティをカスタム コントロールのプロパティにバインドできるようにするには、どうすればよいですか?

4

1 に答える 1

0

問題は、ユーザーコントロール内のデータコンテキストまたはバインディングにあると思います。ユーザーコントロールコードを投稿する必要があります。

<MyUserControl x:Name="uc">
  <TextBlock Text="{Binding ElementName=uc,Path=ButtonText}/>
</MyUserControl>

ここで私の答えを確認してください、同様の問題があります。

于 2012-08-06T07:44:34.587 に答える