在代码隐藏中设置图像未显示在 wpf 数据网格列中

发布于 2024-11-24 21:57:50 字数 659 浏览 1 评论 0原文

我有一个数据模板来在数据网格列中显示图标。我在后面的代码中设置了图像源。但不知何故,图像在运行时没有显示在网格中。我错过了什么吗?

<DataTemplate x:Key="iconTemplate">          
  <Image/>
</DataTemplate>

背后的代码。

var cellTemplate = (DataTemplate)Resources["iconTemplate"];
var image = cellTemplate.LoadContent() as Image;

image.Source = new BitmapImage(new Uri(@"C:\images\16x16\image.png"));
column.CellTemplate = cellTemplate;

在 xaml 中设置 datagrid 模板列的单元格模板

<DataGrid.Columns>
  <DataGridTemplateColumn Header="Comments" CellTemplate="{StaticResource iconTemplate}"/>
</DataGrid.Columns>

I have a data template to show icon in a datagrid column. I set the image source in code behind. But somehow the image is not showing up in the grid at runtime. Am I missing anything??

<DataTemplate x:Key="iconTemplate">          
  <Image/>
</DataTemplate>

Code behind

var cellTemplate = (DataTemplate)Resources["iconTemplate"];
var image = cellTemplate.LoadContent() as Image;

image.Source = new BitmapImage(new Uri(@"C:\images\16x16\image.png"));
column.CellTemplate = cellTemplate;

Setting datagrid template column's cell template in xaml.

<DataGrid.Columns>
  <DataGridTemplateColumn Header="Comments" CellTemplate="{StaticResource iconTemplate}"/>
</DataGrid.Columns>

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

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

发布评论

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

评论(1

浅暮の光 2024-12-01 21:57:50

加载内容在这里没有帮助:

将模板的内容加载为对象的实例并返回内容的根元素。

返回值

类型:System.Windows.DependencyObject
内容的根元素。多次调用此函数会返回单独的实例。

此外,您无法修改数据模板,因为它们一旦使用就会被密封。您可以将 DataTemplate 作为 DynamicResource 引用,并在运行时完全替换旧模板。

LoadContent is not going to help here:

Loads the content of the template as an instance of an object and returns the root element of the content.

Return Value

Type: System.Windows.DependencyObject
The root element of the content. Calling this multiple times returns separate instances.

Further you cannot modify DataTemplates as they are being sealed once they are used. You could reference the DataTemplate as a DynamicResource, and replace the old template completely at runtime.

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