您好我正在开发一个WPF项目,我有一个网格控件。 grid控件的itemsSource属性绑定到viewmodel中的数据表。我遵循mvvm模式,所以我的问题是我需要将网格控件的selectedcell属性绑定到我的视图模型类中的属性。是否可以通过将单元格绑定到视图模型类中的属性来确定单元所在列的名称。我知道一个事件处理程序可以附加到单元格,它将调用视图后面的代码中的函数,但我不希望遵循该方法,因为它不是mvvm。请帮助我提出任何建议。
答案 0 :(得分:0)
在您的XAML中,CurrentCell
属性绑定到视图模型中的DataGridCellInfo
:
<DataGrid SelectionUnit="Cell"
SelectionMode="Single"
ItemsSource="{Binding MyDataTable}"
CurrentCell="{Binding SelectedCellInfo, Mode=OneWayToSource}"/>
然后在View Model中,您可以从绑定对象访问标题:
public DataGridCellInfo SelectedCellInfo
{
get { return _selectedCellInfo; }
set
{
_selectedCellInfo = value;
OnPropertyChanged("SelectedCellInfo");
_columnName = _selectedCellInfo.Column.Header;
}
}