2010-10-14 56 views
2

所有內容都編譯完成,但運行時會顯示一個空行。如果我嘗試編輯一個條目,它說「沒有XPath設置」。我究竟做錯了什麼?我嘗試了噸變型中,不具有INotifyPropertyChanged接口等無法獲取DataGrid與ObservableCollection一起工作

的基類是:

public class Variable : INotifyPropertyChanged 
    { 
     public string Name; 
     public string Value; 

     public event PropertyChangedEventHandler PropertyChanged; 

     private void NotifyPropertyChanged(String info) 
     { 
      if (PropertyChanged != null) 
      { 
       PropertyChanged(this, new PropertyChangedEventArgs(info)); 
      } 
     } 
    } 

的觀察到的集合是:

public class VariableCollection:ObservableCollection<Variable> 
    { 
     public VariableCollection() 
      : base() 
     { 
     } 

     public VariableCollection(List<Variable> list) 
      : base(list) 
     { 
     } 
    } 

的結合是:

public VariablesView(VariableCollection variables) 
     { 
      InitializeComponent(); 

      gridContent.ItemsSource = variables; 
     } 

該XAML是:

<DataGrid Name="gridContent" AutoGenerateColumns="False"> 
      <DataGrid.Columns> 
       <DataGridTextColumn Binding="{Binding Name}" Header="Name" /> 
       <DataGridTextColumn Binding="{Binding Value}" Header="Value" /> 
      </DataGrid.Columns> 
     </DataGrid> 

回答

4

這很簡單。你在班上有字段而不是屬性。

更改代碼:

public string Name{ get; set;} 
    public string Value{ get; set;} 
+0

OMG我只喜歡浪費停留在這四小時。謝謝! – Kenoyer130 2010-10-14 00:31:58

+0

我一直在我的代碼中使用getter setter很多次,但這次我錯過了它。非常感謝 :) – 2013-09-07 10:02:49