gpt4 book ai didi

wpf - 在 WPF 中使用图片或图标代替 DataGridCheckBoxColumn

转载 作者:行者123 更新时间:2023-12-04 03:10:44 37 4
gpt4 key购买 nike

我想将 DataGridColumn 中的 CheckBox 更改为选中时的图像和未选中时的另一个图像,我该怎么做?ps:我的DataGridCheckBoxColumn是这样定义的:

 <DataGridCheckBoxColumn Header="Priority" Binding="{Binding PRIORITY, Converter={StaticResource converter}}"/>

转换器正在将字节转换为 bool 值。

最佳答案

使用 ElementStyleEditingElementStyle创建和设置不同的属性 Template CheckBox 适合它。

例如

<DataGridCheckBoxColumn Binding="{Binding IsActive}">
<DataGridCheckBoxColumn.ElementStyle>
<Style TargetType="{x:Type CheckBox}">
<Setter Property="IsEnabled" Value="False" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type CheckBox}">
<Image MaxWidth="32" MaxHeight="32">
<Image.Style>
<Style TargetType="{x:Type Image}">
<Setter Property="Source" Value="Images/Error.ico" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked, RelativeSource={RelativeSource AncestorType=CheckBox}}" Value="True">
<Setter Property="Source" Value="Images/Default.ico" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGridCheckBoxColumn.ElementStyle>
</DataGridCheckBoxColumn>

这使得列显示基于 IsChecked 的图像,URI 只是硬编码并且 CheckBox 被禁用,因为在 ElementStyle 中编辑不会更改绑定(bind)对象的任何属性。它的唯一目的是显示适当的图像。

(EditingElementStyle 未在此处设置,因此如果用户再次单击该单元格对其进行编辑,则会出现一个普通的复选框,可以选中或取消选中。)

Screencap

关于wpf - 在 WPF 中使用图片或图标代替 DataGridCheckBoxColumn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6901107/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com