x:参考“”不是属性“ IsVisible”的有效值

时间:2019-06-11 08:53:03

标签: .net wpf xaml visual-studio-2019

我对WPF来说还比较陌生,非常喜欢在标记中使用GUI逻辑的可能性。 目前,如果有另一个控件可见,我就有一个只希望可见的控件。

<AttachedControl IsVisible="{x:Reference Name=mainControl}"/>
<MasterControl Name="mainControl" IsVisible="True">
...
</MasterControl>

当我使用它时,它正在设计器中工作,但是会产生错误消息:

  

错误“”是该属性的无效值   “可见”。 ProjectX MyUserControl.xaml

它也可以成功编译,我可以运行该应用程序。那么有人可以告诉我问题出在哪里或我在做什么/理解错了吗?

1 个答案:

答案 0 :(得分:1)

x:Reference标记扩展指向元素的x:Name,但是您无法将IsVisible属性绑定到具有x:Name“ mainControl”本身的控件。您应该绑定到它的布尔属性。

只要mainControl具有IsVisible属性,即x:Reference是绑定的 source 并且IsVisible是绑定的路径:

<AttachedControl IsVisible="{Binding IsVisible, Source={x:Reference Name=mainControl}}"/>

您还可以通过设置绑定的ElementName属性来绑定到另一个元素:

<AttachedControl IsVisible="{Binding IsVisible, ElementName=mainControl}"/>

What is the difference between x:Reference and ElementName?