我正在使用wpf和C#,使用Visual studio进行应用程序开发。我列出了列表框中的数据(数据来自数据库)。我想操纵列表框显示,使得列表框中的前3个项目突出显示(不是所选行)或者可以在前3个项目之后绘制lkine ..或任何可以吸引用户注意前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是列表框的名称