0

目的の効果を得るために正しい組み合わせを取得できないようです:

現在の XAML:

<Button Content="Foo" prism:Click.Command="{Binding FooCommand}"
        Visibility="{Binding IsEnabled, RelativeSource={RelativeSource Self}, Converter={ncon:VisibilityBooleanConverter}}" />
<Button Content="Bar" prism:Click.Command="{Binding BarCommand}"
        Visibility="{Binding IsEnabled, RelativeSource={RelativeSource Self}, Converter={ncon:VisibilityBooleanConverter}}" />

Visibility="{Binding IsEnabled, RelativeSource={RelativeSource Self}, Converter={ncon:VisibilityBooleanConverter}}"すべてのボタン (この UserControl リソース内) に適用するスタイルとしてを抽出したいと考えています。それを実現するためにここに行く正しい組み合わせを取得できないようです。

基本的には、その DependencyProperty に基づいてボタンを無効にするだけでなくICommand.CanExecute、ブール値と可視性のコンバーターを使用してボタンの可視性にバインドし、ボタンを無効にするだけでなく折りたたむこともできます。

4

2 に答える 2

2

スタイルは次のようになります。

<Style TargetType="{x:Type Button}">
    <Setter Property="Visibility"
            Value="{Binding IsEnabled, RelativeSource={RelativeSource Self}, Converter={ncon:VisibilityBooleanConverter}}"/>
</Style>

それはうまくいきませんか?

于 2011-04-22T17:18:27.447 に答える
1
<Style x:Key="ButtonStyle" TargetType="{x:Type Button}">
    <Style.Triggers>
        <DataTrigger Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}, Converter={ncon:VisibilityBooleanConverter}}" Value="Visible">
            <Setter Property="Visibility" Value="Visible"/>
        </DataTrigger>
    </Style.Triggers>
</Style>
于 2011-04-22T17:16:36.110 に答える