繁体   English   中英

WPF将usercontrol的属性绑定到parent的属性

[英]WPF bind usercontrol's property to parent's property

我创建了一个usercontrol,它有2个依赖项属性。 我想将这些依赖项属性绑定到mainViewModel的属性,这样每当用户控件中的某些内容发生更改时,父属性的属性就会更新。

我尝试过,正常绑定但是没有用。 如何将用户控件的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>

谢谢

要绑定到父级属性,您应该在Binding中使用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:不要忘记define namespace UCName。

[编辑]将URL更改为.NET 4版本的文档。

像这样的东西:

<MainWindow DataContext="mainViewModel">

 <local:TestControl ucDependProp="{Binding viewModelProp}/>

</MainWindow>


className: TestControl.xaml
<UserControl Name="thisControl">
<TextBox Text="{Binding ElementName=thisControl, Path=ucDependProp}/>
</UserControl>

用户控件不应该知道父视图模型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM