我正在使用istBox,我希望在你使用时禁用它的颜色 选中的项目(默认为蓝色)我是这样尝试过的 但是当你选择项目时你没有看到它...,任何想法如何禁用颜色/
<ListBox.Resources>
<!-- Background of selected item when focussed -->
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}"
Color="Transparent" />
</ListBox.Resources>
更新
x:Name="LstUsers" Height="115" Width="150"
ItemsSource="{Binding UsersCollectionView}"
AllowDrop="True"
PreviewKeyDown="ListBoxPreviewKeyDown"
PreviewDrop="ListBox_PreviewDrop"
PreviewMouseDown="listBox_PreviewMouseMove"
Margin="45,119,805,445"
MouseUp="listBox_MouseUp"
PreviewMouseLeftButtonDown="listBox_PreviewMouseLeftButtonDown"
Drop="ListBox_Drop">
</ItemsControl>
答案 0 :(得分:0)
使用ItemsControl
代替ListBox
。
它没有列出ListBox的所有精美模板(包括没有高亮颜色)。
正如您在评论中提到的那样,您希望SelectionChanged
事件不幸发生not in ItemsControl
。只有禁用选择突出显示颜色的其他方法是 覆盖ListBoxItem的模板 。你就是这样做的:
<ListBox>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<ContentPresenter
Content="{TemplateBinding ContentControl.Content}"
ContentTemplate="{TemplateBinding ContentControl.ContentTemplate}"
ContentStringFormat="{TemplateBinding ContentControl.ContentStringFormat}"
HorizontalAlignment="{TemplateBinding Control.HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding Control.VerticalContentAlignment}"
SnapsToDevicePixels="{TemplateBinding UIElement.SnapsToDevicePixels}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>