[英]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.