我目前有一个非常简单的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
我错过了什么让图像真正出现在窗口上?
感谢。
答案 0 :(得分:1)
尝试使用完整包URI。
Source="pack://application:,,,/MyApp;component/Assets/Icon.png"
对于构建操作,您可以将其保留为“无”,但必须选择“如果更新则复制”。