C# 如何使用mvvm在wpf中的datagrid单元格中进行只读更改
我的网格如下 我想要的是当点击datagrid中的复选框时,如果选中了True Holoday名称,则应该启用,否则它应该是可编辑的C# 如何使用mvvm在wpf中的datagrid单元格中进行只读更改,c#,wpf,xaml,mvvm,datagrid,C#,Wpf,Xaml,Mvvm,Datagrid,我的网格如下 我想要的是当点击datagrid中的复选框时,如果选中了True Holoday名称,则应该启用,否则它应该是可编辑的 将属性绑定到列的IsReadOnly属性。处理checkbox checked事件并更新您绑定到viewModel cellEditEnding事件中的列的属性,并在内部检查checkbox列的状态。如果选中,则查找列并设置为true;比如: public void CellEditEndingEvent(object Sender, DataGridCel
将属性绑定到列的IsReadOnly属性。处理checkbox checked事件并更新您绑定到viewModel cellEditEnding事件中的列的属性,并在内部检查checkbox列的状态。如果选中,则查找列并设置为true;比如:
public void CellEditEndingEvent(object Sender, DataGridCellEditEndingEventArgs e)
{
if(String.Equals(e.Column.Header.ToString(), "YourCheckBoxFieldName")
{
var x = e.Row.Item as YourType;
if(null != x)
{
e.EditingElement.IsEnabled = x.IsHolidayYN;
}
}
}
要在viewModel中获取此方法,请使用交互性和交互库。我没有测试代码
public void CellEditEndingEvent(object Sender, DataGridCellEditEndingEventArgs e)
{
if(String.Equals(e.Column.Header.ToString(), "YourCheckBoxFieldName")
{
var x = e.Row.Item as YourType;
if(null != x)
{
e.EditingElement.IsEnabled = x.IsHolidayYN;
}
}
}