列表框显示操作 - 突出显示前3项(未选中行)

时间:2014-03-21 09:19:50

标签: c# wpf visual-studio-2010 listbox

我正在使用wpf和C#,使用Visual studio进行应用程序开发。我列出了列表框中的数据(数据来自数据库)。我想操纵列表框显示,使得列表框中的前3个项目突出显示(不是所选行)或者可以在前3个项目之后绘制lkine ..或任何可以吸引用户注意前3项的内容列表框...我知道它显而易见,但是当我使用模糊搜索填充数据时可能并不总是显而易见...所以请不要问我为什么这样做.. 但是,如果你有任何信息,如何做到这一点,或如何操纵列表框显示请分享:)

...谢谢

3 个答案:

答案 0 :(得分:0)

由于ListBox控件是一个元素列表,您可以填充它的数据源,然后以某种方式突出显示三个顶部元素。

请参阅此问题以获取有关如何为元素着色的参考:) C# : changing listbox row color?

答案 1 :(得分:0)

对于WPF(listbox从数据库中获取项目)

在我的示例中,我将表国家/地区的国家/地区名称添加到列表框中。

然后,我突出显示列表框的前3个条目:

            SqlConnection myConnection = new SqlConnection("Data Source=.;Initial Catalog=db_myDB;Integrated Security=true");
            SqlDataReader myReader=null;

            int i = 0;

            myConnection.Open();



             myReader = new SqlCommand("select  countryname from dbo.countries", myConnection).ExecuteReader();

                while (myReader.Read())
                {

                    ListBoxItem li = new ListBoxItem();
                    li.Content = myReader.GetString(0);
                    listBox1.Items.Add(li);

                    if(i<3)
                    li.Background = Brushes.Blue;

                    i++;
                }

              myConnection.Close();

答案 2 :(得分:-2)

对于Asp.Net: -

您可以更改要突出显示的项目的颜色

您可以将其放在Page_Load

ListBox1.Items[0].Attributes.Add("style", "color: #F00");
ListBox1.Items[1].Attributes.Add("style", "color: #F00");
ListBox1.Items[2].Attributes.Add("style", "color: #F00");

ListBox1是列表框的名称