我在WPF MVVM應用程序中有一個UserControl,它的可見性我想要綁定到其父級的DataContext中的屬性。問題是孩子UC有它自己的DataContext。那麼,如何使用子DataContext作爲子UC的內部組件,並仍然使用父級DataContext進行可見性?將UserControl屬性綁定到父數據上下文
因此,例如,父控件的DataContext的看起來像這樣
class Parent
{
public Child Child { get; private set; }
public Visibility ChildVisible
{
get { return Visibility.Visible; }
}
}
在XAML,我該怎麼配置能見度結合,使其指向Parent.ControlVisible,而不是Child.ControlVisible的?
<local:Child DataContext="{Binding Control}" Visibility="{Binding ControlVisible}" />
也許我錯過了一些東西,但是ElementName給了我XAML中的父級UserControl,而不是視圖模型中的父級DataContext,對嗎? – user7134019
你說得對。可見性=「{綁定DataContext.Visibility,ElementName = parentControl}」> - 編輯答案 –
但是這將設置孩子的可見性等於父,這不是我想要做的。在這種情況下,父母總是可見的。我只是希望子級的可見性由父級數據上下文中的屬性確定。 – user7134019