UserControl中的图像未显示在窗口

时间:2016-07-07 22:51:11

标签: c# wpf image xaml user-controls

我目前有一个非常简单的UserControl,它只包含一个图像。当我将此UserControl放到同一项目中的另一个窗口时,图像不再出现在编辑器中,也不会在我运行程序时出现。我已经查看了我能找到的每一个问题,但我仍然无法使其发挥作用。

我的用户控制是:

<UserControl x:Class="MyApp.DetailViews.InfoDetails"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         mc:Ignorable="d" 
         d:DesignHeight="20" d:DesignWidth="20">
<Grid>
    <Image Source="/MyApp;component/Assets/Icon.png" HorizontalAlignment="Left" Height="20" VerticalAlignment="Top" Width="20"/>
</Grid>

我检查了这些问题:

Embedded images not showing when in a UserControl

WPF - UserControl with images not showing properly

Why are my images not showing up in my UserControl?

Image in WPF Button not Visible at Runtime

他们似乎都有共同点是组件的构建设置。因此,我已将实际的.png 构建操作设置为内容,将复制到输出目录设置为始终复制。

实际的UserControl本身已将 Build Action 设置为页面(虽然我已尝试将其设置为内容或资源),并设置为不复制。这些设置与我所有其他UserControl的设置相同,我对这些设置没有任何问题。

我有以下文件夹结构:

MyApp/MyApp.sln
MyApp/MainWindow.xaml/cs
MyApp/DetailViews/InfoDetails.xaml/cs
MyApp/Assets/Icon.png

我错过了什么让图像真正出现在窗口上?

感谢。

1 个答案:

答案 0 :(得分:1)

尝试使用完整包URI。

Source="pack://application:,,,/MyApp;component/Assets/Icon.png"

对于构建操作,您可以将其保留为“无”,但必须选择“如果更新则复制”。