0

我确定我做错了什么。

一些上下文:WPF 应用程序、MVVM、实体框架等。

在我的窗口视图模型中,我有两个属性:MemberCountEventCount. 两者都是int

在我看来,我有一个自定义控件的 5 个实例。此自定义控件具有三个依赖属性:ImageDataButtonTextButtonSubText。都是string

我想要做的是以这样一种方式绑定控件,即MemberCount绑定到一个控件上的ButtonText属性,并EventCount绑定到ButtonText另一个控件上的属性。

所以我做了一些类似的事情:

<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')

我已经习惯DataBinding了 WPF,但对于我的生活,我无法弄清楚这一点。

我需要做什么才能将视图模型中的属性绑定到自定义控件上的属性?

4

1 回答 1

0

我认为问题在于您的用户控件中的数据上下文或绑定。你应该发布你的用户控制代码。

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

在这里查看我的答案,有类似的问题。

于 2012-08-06T07:44:34.587 回答