在 Xceed 的 WPF DataGrid 中用图像替换复选框

发布于 2024-11-25 19:54:09 字数 219 浏览 4 评论 0原文

我将 MVVM 模式与 Xceed 的 WPF DataGridControl 结合使用,并将网格的一列绑定到视图模型/数据上下文上的布尔属性。

默认情况下,它显示为复选框,而我想显示图像,例如 True 为笑脸,False 为悲伤的脸。它不需要像复选框一样运行,因为该列是只读的。

实现这一目标的最佳方法是什么?

I'm using the MVVM pattern with Xceed's WPF DataGridControl and I've bound a column of my grid to a boolean property on my view-model/data-context.

By default it displays as a checkbox, instead I'd like to display an image e.g. a smile face for True and a sad face for False. It doesn't need to behave like a checkbox as the column is read-only.

What is the best way to achieve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

内心旳酸楚 2024-12-02 19:54:10

Xceeds 网站上发布了一篇关于如何根据其他值设置 DataCell 样式的博客。因此,本质上,您可以创建一个包含图像控件的 DataTemplate,并且可以创建一个条件,如果值为 true,则设置笑脸,如果值为 false,则设置悲伤的脸。以下链接显示了如何执行此操作:

http://xceed.com/CS/blogs/techside/archive/2011/07/06/datacell-styling-vs-cellcontenttemplate.aspx

There was a blog posted on Xceeds website about how to style a DataCell based on other values. So essentially, you can create a DataTemplate with an image control in it and you can create a condition where you set the happy face if the value is true and a sad face if the value is false. Here is the following link that shows how to do this:

http://xceed.com/CS/blogs/techside/archive/2011/07/06/datacell-styling-vs-cellcontenttemplate.aspx

小…红帽 2024-12-02 19:54:10

您必须创建数据网格模板列才能实现自定义样式。

    <DataGrid.Columns>
     <DataGridTemplateColumn Header="First Name" IsReadOnly="True" Width="Auto" MinWidth="100" CanUserSort="True">
                                <DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
<Grid>
                                        <Image Source="smile.jpg"/>
                                        <Image Source="smile.jpg"/>
</Grid>
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellTemplate>
                            </DataGridTemplateColumn> 

    </DataGrid.Columns>

您可以进一步使用数据触发器来玩图像的可见性

you have to create data grid template column to achieve custom style.

    <DataGrid.Columns>
     <DataGridTemplateColumn Header="First Name" IsReadOnly="True" Width="Auto" MinWidth="100" CanUserSort="True">
                                <DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
<Grid>
                                        <Image Source="smile.jpg"/>
                                        <Image Source="smile.jpg"/>
</Grid>
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellTemplate>
                            </DataGridTemplateColumn> 

    </DataGrid.Columns>

you can further use datatriggers to play with visibility of images

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文