Wpf DataGridColumnHeader复选框已选中绑定不';行不通
它是UI的一部分,Wpf DataGridColumnHeader复选框已选中绑定不';行不通,wpf,checkbox,binding,Wpf,Checkbox,Binding,它是UI的一部分,INotifyPropertyChanged实现了cource接口,所有的绑定都可以正常工作。但是由于某种原因,绑定不起作用。给你 IsChecked="{Binding ArchiveDocsLinkedChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" > 这是我的XAML: <DataGridTemplateColumn Width="Auto"> <DataGridTem
INotifyPropertyChanged
实现了cource接口,所有的绑定都可以正常工作。但是由于某种原因,绑定
不起作用。给你
IsChecked="{Binding ArchiveDocsLinkedChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" >
这是我的XAML:
<DataGridTemplateColumn Width="Auto">
<DataGridTemplateColumn.HeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridColumnHeader}">
<CheckBox Margin="0,2,3,0" Checked="ArchiveDocsLinkedMainCheckBoxChecked" Unchecked="ArchiveDocsLinkedMainCheckBoxUnchecked" HorizontalAlignment="Center" IsChecked="{Binding ArchiveDocsLinkedChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" >
<CheckBox.ToolTip>Выделить все/Снять выделение</CheckBox.ToolTip>
</CheckBox>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGridTemplateColumn.HeaderStyle>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path=IsChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Center" Name="theCheckbox"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
我想这是因为绑定在DataGridColumnHeader的模板中。对于绑定来说,这并不是一个非常标准的情况。如何正确指定绑定
?谢谢 我解决了这个问题
绑定必须如下所示:
IsChecked="{Binding RelativeSource={RelativeSource AncestorType={x:Type Window}},
Path=ArchiveDocsLinkedChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
显然,当您在ControlTemplate
中时,您就在ControlTemplate
的DataContext
中。因此,您必须进入上层才能访问窗口的
DataContext
:)
p、 为什么,当我复制和粘贴一些代码时,它似乎移到了右边?ctrl+K不能解决这个问题,我强制手动调整代码…检查输出窗口是否有任何绑定错误。他们将指导您失败的原因。在输出窗口中,我看不到有关此绑定的任何信息:(请删除您上次的问题更新并将其添加为答案,以便此问题可以有一个可接受的答案。
IsChecked="{Binding RelativeSource={RelativeSource AncestorType={x:Type Window}},
Path=ArchiveDocsLinkedChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">