当以编程方式选择项目时,ListBoxItems选定的颜色会有所不同

时间:2017-03-13 19:16:58

标签: c# wpf listbox

如下图所示,使用鼠标单击并以编程方式选择项目时,突出显示/所选颜色会有所不同。单击项目时,所选颜色为透明蓝色。以编程方式选择项目时,所选颜色是灰色的吗?

如何以编程方式选择项目时,它也是系统默认使用的透明蓝色(用鼠标点击时)?

谢谢

以下是简单的代码:

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

<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 programatically selected

通过鼠标点击选择(淡蓝色) When clicked with mouse

1 个答案:

答案 0 :(得分:2)

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

ListBoxTest.Focus();

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