5

が無効ListBox Backgroundになっているときに変更されないこの単純なスタイルがあります。ListBox

<Style TargetType="ListBox" >                    
    <Style.Triggers>
        <Trigger Property="IsEnabled" Value="True">
            <Setter Property="Background" Value="Red"/>
        </Trigger>
        <Trigger Property="IsEnabled" Value="False">
            <Setter Property="Background" Value="Orange"/>
        </Trigger>
    </Style.Triggers>
</Style>

Snoop はこれについては役に立たず、テンプレートをオーバーライドしないと簡単な方法を理解できません。これを機能させる簡単な方法はありますか?ティア。

4

2 に答える 2

2

これを行う唯一の方法は、テンプレートをオーバーライドすることです

于 2012-01-31T17:55:24.067 に答える
0

組み込みのテンプレートが使用している色を変更するだけで、リストボックスが無効になっているときにリストボックス自体の背景色を変更できます。これは、スタイル リソースを介して行うことができます。以下のコードを Listbox 要素に貼り付けるだけで、ボックスを無効にすると背景が透明になります。

<ListBox.Style>
    <Style TargetType="{x:Type ListBox}">
        <Style.Resources>
            <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent"/>
        </Style.Resources>
    </Style>
</ListBox.Style>

単一のアイテムが強調表示されているとき、およびボックスがフォーカスを失ったときに、その背景色を変更することも非常に一般的です..これらを変更するには、この投稿を参照できます: https://stackoverflow.com/a/7298301/1721136

于 2013-06-12T21:57:09.347 に答える