0

の閉じるボタンを表示または非表示にできる依存関係プロパティがあります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"/>

コンストラクターで手動でShowCloseButtonfalse に設定すると、期待どおりに消えます。

4

1 に答える 1

2

以下のような要素名バインディングを使用する必要があると思います。

<Button Visibility="{Binding ElementName=userControl1,Path=ShowCloseButton, Mode=TwoWay, Converter={StaticResource BoolToVis}}" x:Name="Button_Close"/>

これがうまくいかない場合は、コードを私たちと共有してください。

于 2013-03-22T10:25:51.660 に答える