[英]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.