Dan*_*rum 18 wpf xaml datagrid wpfdatagrid .net-3.5
我正在使用.NET 3.5中的WPF工具包中的DataGrid.
我有一个datagrid列绑定到我的源对象的布尔属性.
该复选框正确调用boolean的属性get访问器.
但是,在选中或取消选中该框时,将调用get而不是set.
<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Object, Source={StaticResource model}, Mode=TwoWay}">
<DataGrid.Columns>
<DataGridCheckBoxColumn Binding="{Binding BoolProperty, mode=TwoWay}"/>
</DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
当我使用带有Checkbox的DataGridTemplateColumn时,属性设置正确,但是创建一个漂亮的布局会更复杂.
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding BoolProperty, Mode=TwoWay}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
Run Code Online (Sandbox Code Playgroud)
使用DataGridCheckBoxColumn我做错了什么?
小智 48
我遇到了同样的问题,这是我的解决方案
<CheckBox HorizontalAlignment="Center" IsChecked="{Binding BoolProperty, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
Run Code Online (Sandbox Code Playgroud)
Mar*_*lek 37
我的解决方案是将UpdateSourceTrigger设置为PropertyChanged.
<DataGridCheckBoxColumn Header="Bool property" Binding="{Binding BoolProperty, UpdateSourceTrigger=PropertyChanged}"></DataGridCheckBoxColumn>
Run Code Online (Sandbox Code Playgroud)
在DataGrid
绑定中,在结束编辑行/单元格之前,不会提交.如果按Enter键,绑定将应用于源.
使用这样的模板会覆盖该行为,但我不建议这样做.也TwoWay
没有必要明确设置.
小智 7
我的解决方案是添加带有 Style TargetType="CheckBox" 的 ElementStyle:
<DataGridCheckBoxColumn Binding="{Binding BoolProperty, UpdateSourceTrigger=PropertyChanged}">
<DataGridCheckBoxColumn.ElementStyle>
<Style TargetType="CheckBox"/>
</DataGridCheckBoxColumn.ElementStyle>
</DataGridCheckBoxColumn>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
36136 次 |
最近记录: |