我有一个依赖属性,允许我在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); }
}
用户控件中的 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,它会像您期望的那样消失。