【问题标题】:WPF -- Displaying Image in RadGridView dynamically and through codeWPF——通过代码在 RadGridView 中动态显示图像
【发布时间】:2023-03-11 15:31:01
【问题描述】:

我有一个绑定到我创建的对象 foo 的 radgridview。

对象 foo 具有从枚举填充的属性“状态”。

我有许多 foo 对象存储在一个集合中,我用它们来绑定到我的 radgridview。

绑定后我得到记录并且网格显示正常。

我不想在网格中显示我的 foo 对象的“状态”枚举值。相反,我想使用单独的图像来更清楚地描述状态(并且空间更小)。例如,如果 foo 的 'status' 枚举值 == Open,我将显示一扇打开的门,而 value == Closed 将是一扇关闭的门。所以同一列可能有不同的图像,但来自 foo 的状态枚举绑定的同一属性。希望这足够清楚......

我尝试在网格的 RowLoaded 事件中使用位图图像覆盖内容值。我也试过设置网格的数据类型为image,butmapimage,image source都无济于事...

看起来这应该比现在容易得多...如果图像直接来自数据库,那将不是问题;那里有很多例子。然而,动态地和通过代码来做这件事仍然是一个谜。

提前感谢您的帮助!

【问题讨论】:

    标签: wpf image dynamic telerik


    【解决方案1】:

    显然我只需要发布问题...

    我成为一次尝试太多东西的牺牲品,而一个本应完美工作的灵魂却没有,因为我同时在一个单元格上尝试一种风格。

    在上面提供的示例中,在网格的 RowLoaded 事件中,可以执行以下操作:

    1. 从单元格内容中获取枚举值
    2. 创建一个图像控件(System.Windows.Controls.Image img = new Image();)
    3. 根据枚举值(open.png / closed.png)分配图像的来源
    4. 将单元格的内容 = 设置为您刚刚创建的图像控件

    当网格显示时,您应该在网格单元格中看到您的图像...

    您还需要确保将列的数据类型设置为: typeof(System.Windows.Controls.Image)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-21
      相关资源
      最近更新 更多