我创建了一个 ListView,其中包含 GridView 组件。现在尝试用图标 (PNG) 填充其中一个单元格,如下面的代码示例 (save_icon.png) 所示:
<ListView.View>
<GridView>
<GridViewColumn Header="Date" Width="Auto" DisplayMemberBinding="{Binding Date}" />
<GridViewColumn Header="Time" Width="Auto" DisplayMemberBinding="{Binding Time}" />
<GridViewColumn Header="FriendlyName" Width="Auto" DisplayMemberBinding="{Binding FriendlyName}" />
<GridViewColumn Width="Auto">
<Image Source="save_icon.png" />
</GridViewColumn>
</GridView>
</ListView.View>
Visual Studio 给了我一个错误,我将图标放入列中(错误:“错误 35:文件 save_icon.png 不是项目的一部分,或其“构建操作”属性未设置为'资源'。”)我将图标作为资源添加到项目中,当我启动应用程序时,一切正常(图标出现在正确的位置)。但是当我更改 XAML 代码时,WPF 设计器窗口无法重新加载,并且我无法看到设计器中的更改。
有人可以解释这个错误还是我做错了什么?
感谢您提前提供的每一个提示!
最佳答案
我找到了解决问题的方法。只需在 GridViewColumn 内使用 Cell- 和 DataTemplate 即可。下面的 XAML-Code-Snippet 正是我所需要的,并且 wpf 设计器重新加载没有任何问题:
<ListView.View>
<GridView>
<GridViewColumn Header="Date" Width="Auto" DisplayMemberBinding="{Binding Date}" />
<GridViewColumn Header="Time" Width="Auto" DisplayMemberBinding="{Binding Time}" />
<GridViewColumn Header="FriendlyName" Width="Auto" DisplayMemberBinding="{Binding FriendlyName}" />
<GridViewColumn Width="Auto">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Image Source="Resources\saveicon.png"></Image>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
关于C# WPF XAML GridViewColumn 中的图标问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2500009/