繁体   English   中英

在mvvm设计中从gridcontrol检索列名

[英]Retrieve column name from a gridcontrol in mvvm design

嗨,我正在一个WPF项目中,其中有一个网格控件。 网格控件的itemsSource属性绑定到我的视图模型中的数据表。 我正在遵循mvvm模式,所以我的问题是我需要将网格控件的selectedcell属性绑定到我的视图模型类中的属性。 是否可以通过将单元格绑定到视图模型类中的属性来确定单元格所在的列的名称。 我知道可以将事件处理程序附加到该单元,该单元将在视图后面的代码中调用函数,但是我不希望遵循该方法,因为它不是mvvm。 请给我任何建议。

在XAML中,将CurrentCell属性绑定到视图模型中的DataGridCellInfo

<DataGrid SelectionUnit="Cell"
          SelectionMode="Single"
          ItemsSource="{Binding MyDataTable}"
          CurrentCell="{Binding SelectedCellInfo, Mode=OneWayToSource}"/>

然后,在您的视图模型中,您可以从绑定的对象访问标头:

public DataGridCellInfo SelectedCellInfo
{
    get { return _selectedCellInfo; }
    set
    {
        _selectedCellInfo = value;
        OnPropertyChanged("SelectedCellInfo");
        _columnName = _selectedCellInfo.Column.Header;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM