所有内容都会编译,但在运行时会显示一个空行。如果我尝试编辑条目,则会显示“No XPath set”。我究竟做错了什么?我尝试了很多变化,没有INotifyPropertyChanged界面等。
基类是:
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>
答案 0 :(得分:4)
这很简单。您的班级中有字段而不是属性。
将代码更改为:
public string Name{ get; set;}
public string Value{ get; set;}