我对WPF来说还比较陌生,非常喜欢在标记中使用GUI逻辑的可能性。 目前,如果有另一个控件可见,我就有一个只希望可见的控件。
<AttachedControl IsVisible="{x:Reference Name=mainControl}"/>
<MasterControl Name="mainControl" IsVisible="True">
...
</MasterControl>
当我使用它时,它正在设计器中工作,但是会产生错误消息:
错误“”是该属性的无效值 “可见”。 ProjectX MyUserControl.xaml
它也可以成功编译,我可以运行该应用程序。那么有人可以告诉我问题出在哪里或我在做什么/理解错了吗?
答案 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}"/>