2012-02-07 92 views
0

對於簡單的數據網格,如果我具有非唯一項目,單元格的單擊操作將無法正常工作。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" }); 
     } 
    } 
} 

回答

1

總結他們中的對象,這些控制並不意味着字符串。例如

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