使用简单的数据网格,如果我有非唯一的项目,单击单元格将无法正常工作。
我创建了一个WPF应用程序,放在数据网格中(默认为原样)并将以下内容添加到MainWindow:
dataGrid1.Columns.Add(new DataGridTextColumn());
((DataGridTextColumn)dataGrid1.Columns[0]).Binding = new Binding(".");
dataGrid1.Items.Add("Jack");
dataGrid1.Items.Add("Jill");
dataGrid1.Items.Add("Mary");
dataGrid1.Items.Add("Jack");
dataGrid1.Items.Add("Rick");
如果我点击左右或上/下箭头,我经常会突出显示2个单元格。如果我删除第二个“杰克”,一切正常。
关于如何正确导航的任何建议?
编辑:我忘记了原帖上的第一行。
修改工作解决方案
namespace WpfApplication1
{
public class Person { public string Name { get; set; } }
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
dataGrid1.Columns.Add(new DataGridTextColumn());
((DataGridTextColumn)dataGrid1.Columns[0]).Binding = new Binding("Name");
dataGrid1.Items.Add(new Person { Name = "Jack" });
dataGrid1.Items.Add(new Person { Name = "Jill" });
dataGrid1.Items.Add(new Person { Name = "Mary" });
dataGrid1.Items.Add(new Person { Name = "Jack" });
dataGrid1.Items.Add(new Person { Name = "Rick" });
}
}
}
答案 0 :(得分:1)
将它们包裹在一个对象中,这些控件不适用于字符串。 e.g。
public class Person { public string Name { get; set; } }
((DataGridTextColumn)dataGrid1.Columns[0]).Binding = new Binding("Name");
dataGrid1.Items.Add(new Person { Name = "Jack" });
//...