DataGrid在选择非唯一项目时遇到问题

问题描述:

对于简单的数据网格,如果我具有非唯一项目,单元格的单击操作将无法正常工作。DataGrid在选择非唯一项目时遇到问题

我创建了一个WPF应用程序,在DataGrid下降(默认为是),并增加了以下到主窗口:

 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" }); 
     } 
    } 
} 

总结他们中的对象,这些控制并不意味着字符串。例如

public class Person { public string Name { get; set; } } 
((DataGridTextColumn)dataGrid1.Columns[0]).Binding = new Binding("Name"); 

dataGrid1.Items.Add(new Person { Name = "Jack" }); 
//... 
+0

我尝试这样做,但我仍然得到项目选择问题。 – 2012-02-07 14:19:37

+0

@EdwardLeno:真的吗?你在DataGrid上设置了哪些属性? – 2012-02-07 14:20:36

+0

我将所有DataGrid属性都设置为默认值(只需将DataGrid从工具箱中拖放到MainWindow中)。 – 2012-02-07 14:23:01