【发布时间】:2013-06-05 09:48:59
【问题描述】:
我尝试在 DataGrid 中绑定 CheckBox,但在设计器中我将鼠标悬停在 DoImport
由于未知数据上下文,无法解析符号“DoImport”
我的代码是
<Window x:Class="MyWindow">
<Grid>
<DataGrid x:Name="MyGrid" ItemsSource="{Binding}">
<DataGrid.Columns>
<DataGridCheckBoxColumn Header="Import"
Binding="{Binding Path=DoImport,
Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
public partial class MyWindow : Window, INotifyPropertyChanged {
public MyWindow(ObvervableCollection<Part> parts) {
_parts = parts;
MyGrid.DataContext = _parts;
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string name) {
if (PropertyChanged != null) {
PropertyChanged(this, new PropertyChangedEventArgs(name));
}
}
private ObservableCollection<Part> _parts;
public ObservableCollection<Part> Parts {
get { return _parts; }
set
{
_parts = value;
OnPropertyChanged("Parts");
}
}
}
_parts 是填充 DataGrid 的项目的集合。 Part 类是:
public class Part {
public bool DoImport { get; set; }
}
【问题讨论】:
-
什么是
CompareWindow(ObvervableCollection<Part> parts)?这应该是 MyWindow 的构造函数吗? -
是的,我更正了。
-
@Egi:完成。那堂课没什么特别的。
标签: c# wpf data-binding wpfdatagrid