0

WPFアプリケーションでVS2012を使用しています。メインウィンドウにリストボックスがあります。リストボックスのbackground=null-これは、背景がメインウィンドウの背景と等しいことを意味します。

リストボックスにはデータテンプレートがありますが、リストボックスで最後に選択したアイテムの背景色が白に変わるという問題がありますか?どうすればこれを回避できますか?

イラスト用の写真をアップしました。

*編集-この写真は問題を示しています http://i57.photobucket.com/albums/g202/RolleKn/pic2_zps94f2907a.jpg

よろしく。

4

1 に答える 1

0

SelectedItem の背景の変更を削除するには、listboxitem のコントロール テンプレートを上書きする必要があります。

これを試して

<Style  TargetType="{x:Type ListBoxItem}">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="HorizontalContentAlignment" Value="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
<Setter Property="VerticalContentAlignment" Value="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
<Setter Property="Padding" Value="2,0,0,0"/>
<Setter Property="Template">
    <Setter.Value>
        <ControlTemplate TargetType="{x:Type ListBoxItem}">
            <Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
                <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
            </Border>
            <ControlTemplate.Triggers>

                <Trigger Property="IsEnabled" Value="false">
                    <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
                </Trigger>
            </ControlTemplate.Triggers>
        </ControlTemplate>
    </Setter.Value>
</Setter>
</Style>
于 2013-02-28T17:36:25.750 に答える