4

请帮助解决这个问题,我不知道如何处理这个问题。

我有组合框和数据网格。当我选择了组合框值数据网格时,应该加载新数据并且效果很好。但是,当我选中所有带有复选框的列时,我已经选中了带有复选框的 DataGridTemplateColumn.HeaderTemplate,并且也选中了未选中的复选框。两者都很好。

现在我的问题是当我选择组合框时,应该取消选中 datagrid --> headertemplate 复选框。有什么我可以为此触发的事件吗?我的代码如下。

Combox 在数据网格之外。

                        <DataGridTemplateColumn>
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <CheckBox Name="checkadded" Margin="6,0" IsChecked="{Binding IsSelected, NotifyOnSourceUpdated=True, NotifyOnTargetUpdated=True, UpdateSourceTrigger=PropertyChanged}"  />
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>

                        <DataGridTemplateColumn.HeaderTemplate>

                            <DataTemplate>
                                <CheckBox Name="ChkAllAdd" IsChecked="False" Width="50" Loaded="chkallLoaded" Checked="ChkAll_Checked"  Unchecked="ChkAll_Unchecked"  IsThreeState="False" Padding="4,3,4,3" HorizontalContentAlignment="Left" HorizontalAlignment="Center"  />
                            </DataTemplate>

                        </DataGridTemplateColumn.HeaderTemplate>

                        </DataGridTemplateColumn>


                    </DataGrid.Columns>                        

                    <DataGrid.Resources>

                        <Style TargetType="{x:Type DataGridColumnHeader}">
                            <Setter Property="Foreground" Value="#686868"/>
                            <Setter Property="FontWeight"  Value="Bold" />
                        </Style>

                        <Style TargetType="{x:Type DataGridCell}" >
                            <Style.Triggers>
                                <Trigger Property="IsSelected" Value="True">
                                    <Setter Property="Foreground" Value="white"/>
                                    <Setter Property="Background" Value="#93A8A9"/>
                                    <Setter Property="FontWeight" Value="Bold"/>
                                </Trigger>
                            </Style.Triggers>
                        </Style>

                    </DataGrid.Resources>

                </DataGrid>
4

1 回答 1

0

为内容控件创建一个 ControlTemplate 并将您的 DataGrid 和 ComboBox Xaml 放在其中。现在您可以为 Combobox 创建一个 EventTrigger,然后您可以在绑定中使用元素名称设置 CheckedBox Checked。可能会有所帮助。

于 2013-01-18T15:52:06.857 回答