【问题标题】:C# WPF XAML Problem with icon in GridViewColumnC# WPF XAML GridViewColumn 中的图标问题
【发布时间】:2010-03-23 12:59:21
【问题描述】:

我创建了一个包含 GridView 组件的 ListView。现在尝试用下面的代码示例 (save_icon.png) 中的图标 (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 设计器窗口,并且我无法看到设计器中的更改。

有人可以解释这个错误还是我做错了什么?

提前感谢您的每一个提示!

【问题讨论】:

    标签: c# wpf xaml listview icons


    【解决方案1】:

    我找到了解决问题的方法。只需在 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>
    

    【讨论】:

      【解决方案2】:

      我相信这是因为您的图像文件名中有下划线。尝试删除下划线并重建。

      【讨论】:

      • 感谢四位您的回答。不幸的是它并没有解决我的问题:-(我从项目中删除了所有图标,将它们重命名(现在没有任何特殊字符)并将它们作为新图标添加到项目资源中......错误像以前一样发生:“错误35:文件 save_icon.png 不是项目的一部分,或者它的“构建操作”属性未设置为“资源”。”这对我来说绝对没有意义......图标是项目的一部分,它是构建操作设置为“资源”并在应用程序运行时出现。但我无法使用 wpf 设计器,因为它不会因为错误而重新加载。
      • 抱歉没有帮助。你都重建了吗?此外,我看到有人从头开始重新创建项目并添加图像文件并且它工作的报告。我做了一些这些事情的组合并让它工作。我听说 VS 2010 中的 xaml 编辑器更好。希望吧。
      • 是的,我重建了整个项目(我忘了在上面提到)。我也希望在 VS 2010 中有一个更好的 XAML 编辑器。 VS 2008 中的那个有时会做一些很奇怪的事情。还是谢谢!
      • 我也会尝试从头开始重新创建项目。就像我说的,这似乎对一些也有这个问题的人有所帮助。如果这不起作用,我没有建议。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-18
      • 1970-01-01
      • 2013-09-04
      • 1970-01-01
      • 1970-01-01
      • 2018-09-28
      • 2010-11-26
      相关资源
      最近更新 更多