我有一个依赖项属性,允许我显示或隐藏UserControl
上的关闭按钮。我没有编译错误,但关闭按钮永远不会消失,下面的代码,我错过了什么?
使用:
进行呼叫<Toolkit:UC_TitleBar ShowCloseButton="False"/>
.cs代码
public static readonly DependencyProperty ShowCloseButtonProperty =
DependencyProperty.Register("ShowCloseButton",
typeof(Boolean),
typeof(UC_TitleBar),
new FrameworkPropertyMetadata(false));
public bool ShowCloseButton
{
get { return (bool)GetValue(ShowCloseButtonProperty); }
set { SetValue(ShowCloseButtonProperty, value); }
}
UserControl中的XAML:
<UserControl ... x:Name="ucTitleBar">
<UserControl.Resources>
<ResourceDictionary>
<BooleanToVisibilityConverter x:Key="BoolToVis" />
</ResourceDictionary>
</UserControl.Resources>
<Button Visibility="{Binding Path=ShowCloseButton, ElementName=ucTitleBar, Converter={StaticResource BoolToVis}}" x:Name="Button_Close"/>
如果我在构造函数中手动将ShowCloseButton
设置为false,它会像您期望的那样消失。
答案 0 :(得分:2)
我认为您必须使用如下所示的元素名称绑定。
<Button Visibility="{Binding ElementName=userControl1,Path=ShowCloseButton, Mode=TwoWay, Converter={StaticResource BoolToVis}}" x:Name="Button_Close"/>
如果这不适合您,请与我们分享您的代码。