WPF 将 DataGridCheckBoxColumn 更改为红点

Posted

技术标签:

【中文标题】WPF 将 DataGridCheckBoxColumn 更改为红点【英文标题】:WPF Change DataGridCheckBoxColumn to Red Dots 【发布时间】:2017-06-07 18:08:58 【问题描述】:

我想在数据网格的 DataGridCheckBoxColumn 中将我的复选框更改为红点。所以选中的项目是红点,而未选中的项目是空的。如何更改 DataGridCheckBoxColumn 中的样式?

【问题讨论】:

在我看来,你的问题很像 ***.com/questions/1345961/… 这个问题有 Anvaka 发布的公认答案。 附带说明,如果您向我们提供有关您已经查找并尝试解决问题的信息以及发布一些代码,我们通常能够更好地为您提供帮助。跨度> 【参考方案1】:

试试这个,它改编自Ansel Faillace在之前的评论中提到的***.com/questions/1345961/。

<DataGrid x:Name="dataGrid" Margin="10" ItemsSource="Binding">
    <DataGrid.Resources>
        <Style x:Key="GreenRedCheckBox" TargetType="x:Type Checkbox">
            <Setter Property="HorizontalAlignment" Value="Center />
            <Setter Property="VerticalAlignment" Value="Top" />
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="x:Type ToggleButton">
                        <Border x:Name="innerBorder">
                            <Ellipse x:Name="statusLight"
                                     Fill="Red"
                                     Stretch="Fill"
                                     Stroke="Black"
                                     HorizontalAlignment="Center"
                                     VerticalAlignment="Center"
                                     Height="10"
                                     Width="10" />
                        </Border>
                        <Trigger Property="IsChecked" Value="True">
                            <Setter Property="Fill" TargetName="statusLight" Value="Green" />
                        </Trigger>
                        <Trigger Property="IsChecked" Value="False">
                            <Setter Property="Fill" TargetName="statusLight" Value="Red" />
                        </Trigger>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </DataGrid.Resources>
    <DataGrid.Columns>
        <DataGrideCheckBoxColumn ElementStyle="StaticResource GreenRedCheckBox"
                                 EditingElementStyle="StaticResource GreenRedCheckBox" />
    </DataGrid.Columns>
</DataGrid>

【讨论】:

以上是关于WPF 将 DataGridCheckBoxColumn 更改为红点的主要内容,如果未能解决你的问题,请参考以下文章

WPF - 将位图转换为 ImageSource

WPF:将 DataGrid 放入 ComboBox

如何将选定的行从一个 wpf 数据网格复制到另一个 wpf 数据网格? [关闭]

WPF-将列表绑定到列表视图

如何将 WPF 应用程序项目连接到 Windows 游戏项目?

将 WPF 控件放入 Windows 窗体窗体?