WPF将usercontrol的属性绑定到父级的属性
问题描述:
我创建了一个usercontrol,它具有2个依赖属性。我想将这些依赖项属性绑定到mainViewModel的属性,以便每当用户控件中的某些内容发生更改时,父项的属性就会更新。WPF将usercontrol的属性绑定到父级的属性
我尝试过,通常绑定它,但它没有工作。如何将用户控件的DP绑定到父项属性。
我尝试这样做: UC:
<TextBox Name="TextBox" Text="{Binding ElementName=UCName, Path=DP1, Mode=TwoWay}"/>
主窗口:
<UCName:UCName Width="330" CredentialName="{Binding Path=DP1, Mode=TwoWay}"></UCName:UCName>
感谢
答
结合母公司的属性,你应该在你的绑定使用的RelativeSource。就像这样:
<TextBox Name="TextBox" Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UCName:UCName}}, Path=DP1, Mode=TwoWay}"/>
详情:https://msdn.microsoft.com/en-us/library/ms743599(v=vs.100).aspx
PS:不要忘记定义命名空间ucname创建。
[编辑]更改URL到.NET 4版本的文档。
+0
您的链接已过时。 – 2016-03-21 15:10:29
答
事情是这样的:
<MainWindow DataContext="mainViewModel">
<local:TestControl ucDependProp="{Binding viewModelProp}/>
</MainWindow>
className: TestControl.xaml
<UserControl Name="thisControl">
<TextBox Text="{Binding ElementName=thisControl, Path=ucDependProp}/>
</UserControl>
用户控件应该不知道父视图模式。
您能否提供一些代码示例,包括如何绑定到依赖项属性。 – Nathan 2012-07-18 21:04:10
刚刚编辑原帖 – Ali 2012-07-18 21:12:23