【问题标题】:ListView displays certain images but won't display othersListView 显示某些图像但不会显示其他图像
【发布时间】:2013-06-18 21:01:02
【问题描述】:

我正在尝试让某些图像显示在由 ListView 创建的滚动项目列表的一侧。

现在我正在使用来自http://msdn.microsoft.com/en-us/library/windows/apps/hh780650.aspx的数据模板

<Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Width="110" Height="110">
<Image Source="{Binding Image}" Stretch="Uniform"/>

Item 是一个属性,设置如下

if(Type.ToLower().CompareTo("success") == 0)
                    _image = "/Assets/Ok_16.png";
                else
                    _image = "/Assets/Error_16.png";

所以基本上,如果一个过程成功,它会显示一个图像,如果失败则显示另一个图像。现在只会显示错误图像。我将它们都放在 Assets 文件夹中并检查了文件名,所以我不明白为什么它不会显示其他图像。我尝试了 Logo.png 之类的通用图像,它们工作正常,但是当我创建 Logo.png 的副本并将其命名为 Logo1.png 时,它不会显示它。

对可能发生的事情有什么想法吗?

【问题讨论】:

  • 确保您的 png 文件在解决方案资源管理器中将其 build action 设置为 resouce
  • 似乎无法工作的文件不会显示在解决方案资源管理器中。但是它们位于正确的文件夹中,那么我怎样才能让解决方案资源管理器识别它们呢?
  • 右键单击项目 -> 添加现有项目 -> 选择您的文件 -> 单击确定 -> 将它们放在正确的文件夹中 -> 将构建操作设置为 Resource
  • 太棒了。那成功了。谢谢。

标签: c# wpf xaml mvvm microsoft-metro


【解决方案1】:

将我的评论转化为答案:

right click project -&gt; add existing item -&gt; select your files -&gt; click OK -&gt; put them in the correct folder -&gt; set build action to Resource

【讨论】: