【问题标题】:ListBoxItems selected color differs when programatically selecting the item以编程方式选择项目时,ListBox 项目选择的颜色不同
【发布时间】:2017-03-13 19:16:58
【问题描述】:

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

我怎样才能使它在以编程方式选择一个项目时,它也是系统默认使用的透明蓝色(用鼠标单击时)?

谢谢

下面是简单的代码:

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>

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

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

【问题讨论】:

  • 这与@OusmaneMahyDiaw 的问题无关 - 默认的 WPF 选择的列表框项目颜色是透明的蓝色。无论单击一个项目或以编程方式选择它,所选颜色肯定应该是相同的。我不是想改变颜色,我想知道它们为什么不同。我希望它们是一样的,因为它们不一样似乎不合逻辑。

标签: c# wpf listbox


【解决方案1】:

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

ListBoxTest.Focus();

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

【讨论】:

  • 大声笑。我确定我在问这个之前尝试过,但它没有用,但它现在可以工作了。我一定把订单搞混了。谢谢!
  • 哈哈它发生了。很高兴我能帮忙:)
猜你喜欢
  • 2019-10-06
  • 2014-03-02
  • 2017-12-11
  • 2012-07-17
  • 2013-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多