嗨,我有一个学生集合的网格
public class Student
{
public string First{get;set;}
public string Last{get;set;}
public int Age{get;set;}
}
MyGrid.ItemsSource= new List<Student>(){new Student{First="First1",Last="Last1",Age=1},
new Student{First="First2",Last="Last2",Age=2}},
new Student{First="First3",Last="Last3",Age=3}},
new Student{First="First4",Last="Last4",Age=4}},};
现在加载页面或网格后,用户只需键入一些字符,应用程序必须选择与用户输入匹配的特定行,并使用名字或姓氏。
这与我们在Windows资源管理器或visual studio中看到的完全类似,只需输入Win Explorer中的文件夹或visualstudio中的.cs文件。
我们如何实现这一目标?
答案 0 :(得分:0)
经过两天的研究,我终于找到了答案。
实现此功能非常简单。
将附加属性设置为所需的属性名称,它可以神奇地工作。
TextSearch.TextPath="First"
答案 1 :(得分:-1)
您的DataGrid
如下:
<DataGrid x:Name="myDataGrid" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Key}" Header="Key"/>
<DataGridTextColumn Binding="{Binding Value}" Header="Value"/>
</DataGrid.Columns>
</DataGrid>
如果您想要Key
x Value
这样的内容,则不需要为此创建model
,.NET Framework 4.5
已经有一个特定的类,该类Dictionary <TKey, TValue>
(TKey
是关键数据的类型,TValue
是值数据的类型,因此您需要C#
代码,例如(或等于)以下内容:
Dictionary<string, string> dictionary = new Dictionary<string, string>()
{
{"Key1","Value1"},
{"Key2","Value2"},
{"Key3","Value3"}
};
this.myDataGrid.ItemsSource = dictionary;