我确定我做错了什么。
某些上下文:WPF应用程序,MVVM,实体框架等
在我的ViewModel窗口中,我有两个属性:MemberCount
和EventCount
。两者都是int
。
在我看来,我有一个自定义控件的5个实例。此自定义控件具有三个依赖项属性:ImageData
,ButtonText
和ButtonSubText
。全部都是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')
我已经习惯了WPF中的DataBinding
,但对于我的生活,我无法理解这一点。
如果能够将我的视图模型中的属性绑定到自定义控件上的属性,我需要做什么?
答案 0 :(得分:0)
我认为问题是你的usercontrol中的datacontext或绑定。你应该发布你的usercontrol代码。
<MyUserControl x:Name="uc">
<TextBlock Text="{Binding ElementName=uc,Path=ButtonText}/>
</MyUserControl>
检查我的回答here,也有类似的问题。