Wpf 列表框设计问题
我正试图设计一些漂亮的列表框,但每次我点击列表框中的项目 选择背景会毁掉一切。。。 我怎样才能使它无关紧要 这是XAML:Wpf 列表框设计问题,wpf,listbox,Wpf,Listbox,我正试图设计一些漂亮的列表框,但每次我点击列表框中的项目 选择背景会毁掉一切。。。 我怎样才能使它无关紧要 这是XAML: <!-- Site List View --> <ListBox Grid.Row="1" Name="SiteListBox" ItemsSource="{Binding}" HorizontalContentAlignment="Stretch"> <ListBox.Background> <Linear
<!-- Site List View -->
<ListBox Grid.Row="1" Name="SiteListBox" ItemsSource="{Binding}" HorizontalContentAlignment="Stretch">
<ListBox.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="White" Offset="0" />
<GradientStop Color="Gainsboro" Offset="0.805" />
</LinearGradientBrush>
</ListBox.Background>
<ListBox.ItemContainerStyle>
<Style>
<Setter Property="Control.Padding" Value="0"></Setter>
<Style.Triggers>
<Trigger Property="ListBoxItem.IsSelected" Value="True">
<Setter Property="ListBoxItem.Background" Value="DarkRed" />
</Trigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<Border Margin="5" BorderThickness="1" BorderBrush="SteelBlue" CornerRadius="4"
Background="{Binding Path=Background, RelativeSource={
RelativeSource
Mode=FindAncestor,
AncestorType={x:Type ListBoxItem}
}}">
<TextBlock Margin="5" Text="{Binding Path=Name}" />
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
a还附加了一个打印屏幕。当选择了
ListBoxItem
容器时,您可以更改默认颜色。将它们设置为透明
,以获得您想要的效果
<ListBox ...>
<ListBox.Resources>
<!-- Brush for selected item that doesn't have focus -->
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent" />
<!-- Brush for selected item that has focus -->
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent"/>
</ListBox.Resources>
<!-- ... -->
</ListBox>
您的最佳选择是重新定义所选项目的颜色。请看这里:@Matt Hamilton:刚才注意到你的回答和我的一样,只是在评论中。你应该发布一个答案,而不是想窃取你的答案:)@Meleak认为不值得复制内容。