Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Datagrid无需双击来编辑列_C#_Wpf_Wpfdatagrid - Fatal编程技术网

C# Datagrid无需双击来编辑列

C# Datagrid无需双击来编辑列,c#,wpf,wpfdatagrid,C#,Wpf,Wpfdatagrid,我在一个简单的窗口中使用WPF数据网格来显示模型提供的一些数据 模型中的一切都很好,但是有一个问题,例如,我必须双击列来编辑复选框的值 我提出了这个解决方案: 在我将样式指定给复选框之后——以及第一个文本列,它实际上起了作用:) 过了一会儿,我意识到,当样式“NoDoubleClick”被指定给一个列时,模型不再得到更新 谁能告诉我我做错了什么吗?DataGridColumns通常只在编辑的单元格失去焦点时更新绑定的数据。要解决此问题并使其符合您的风格,请将绑定的UpdateSource

我在一个简单的窗口中使用WPF数据网格来显示模型提供的一些数据


模型中的一切都很好,但是有一个问题,例如,我必须双击列来编辑复选框的值

我提出了这个解决方案:


在我将样式指定给复选框之后——以及第一个文本列,它实际上起了作用:) 过了一会儿,我意识到,当样式“NoDoubleClick”被指定给一个列时,模型不再得到更新


谁能告诉我我做错了什么吗?

DataGridColumns通常只在编辑的单元格失去焦点时更新绑定的数据。要解决此问题并使其符合您的风格,请将绑定的
UpdateSourceTrigger
设置为
PropertyChanged

Manfred Radlwimmer是正确的

UpdateSourceTrigger=PropertyChanged
需要更新模型

  <DataGrid x:Name="unitTable" ItemsSource="{Binding Units}" AutoGenerateColumns="False">
<DataGrid.Columns>
     <DataGridCheckBoxColumn Binding="{Binding Path=IsChosen, Mode=TwoWay}" Header="Chosen"></DataGridCheckBoxColumn>
     <DataGridTextColumn Binding="{Binding Path=Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Header="Name"></DataGridTextColumn>
     <DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=IsActive, Mode=TwoWay, Converter={StaticResource boolToActive}}" Header="Active"></DataGridTextColumn>
</DataGrid.Columns>


将绑定的UpdateSourceRigger设置为PropertyChanged。它成功了,非常感谢@不客气,我会把它作为一个答案,这样你就可以结束这个问题了。谢谢你的确认,但我们真的不需要同样的答案了,是吗?(特别是因为OP已经证实它有效)为什么不呢?在代码中显示是很好的。或者你可以用代码编辑你的帖子。代码总是很容易看到的。就这些。