2

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

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

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

4

2 回答 2

1

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

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

于 2011-10-21T18:15:38.200 回答
0

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

    <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>

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

于 2011-07-22T14:28:31.113 回答