关于 c#:ListBox Items 以编程方式选择项目时选择的颜色不同

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>

当以编程方式选择时(灰色选择颜色)

When

通过鼠标单击选择时(浅蓝色)
When


你需要做的就是首先将焦点设置到列表框

1
ListBoxTest.Focus();

然后你可以选择你想要的项目。