ListBoxItems selected color differs when programatically selecting the item
如下图所示,使用鼠标单击与以编程方式选择项目时,突出显示/选定的颜色会有所不同。单击项目时,所选颜色为透明蓝色。以编程方式选择项目时,所选颜色为灰色?
我怎样才能使它在以编程方式选择一个项目时,它也是系统默认使用的透明蓝色(当用鼠标单击时)?
谢谢
下面是简单的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | using System.Windows; using System.Windows.Controls; namespace WpfApp1 { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); for (int i = 0; i < 10; i++) { this.ListBoxTest.Items.Add(new ListBoxItem {Content ="Test" + i}); } this.ListBoxTest.SelectedItem = this.ListBoxTest.Items[2]; } } } |
XAML
1 2 3 4 5 6 7 8 9 10 11 12 | <Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApp1" mc:Ignorable="d" Title="MainWindow" Height="350" Width="525"> <Grid> <ListBox Name="ListBoxTest"></ListBox> </Grid> </Window> |
当以编程方式选择时(灰色选择颜色)
通过鼠标单击选择时(浅蓝色)
你需要做的就是首先将焦点设置到列表框
1 | ListBoxTest.Focus(); |
然后你可以选择你想要的项目。