You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

移植WPF到.NET MAUI:类库ContentView图片无法显示,求正确方案

.NET MAUI类库中ContentView引用图片的正确实现

步骤1:正确配置类库中的图片

  • 将PNG图片放在类库的Resources/Images目录下(无此目录则手动创建)
  • 选中图片,右键→属性:
    • 设置生成操作为MauiImage
    • 设置复制到输出目录为如果较新则复制

步骤2:XAML中正确引用图片

需要在图片Source中明确指定类库的程序集名称,格式为:[图片文件名];assembly=[类库程序集名]

比如你的类库程序集名为ATool,图片是test.png,正确的XAML代码如下:

<Border StrokeThickness="3">
    <Image Source="test.png;assembly=ATool" WidthRequest="100" HeightRequest="100"/>
</Border>

为什么之前的写法无效?

  • 直接写test.png:MAUI会默认从主应用的Resources/Images目录查找,不会定位到类库资源
  • 用ATool.Resources.Images.test.png的嵌入式资源写法:MAUI的MauiImage是专门的资源处理机制,和传统嵌入式资源的加载逻辑不同,这种写法无法被MAUI的资源系统识别

补充:代码后台加载方式(可选)

如果需要在C#代码中设置图片源,可以这样写:

image.Source = ImageSource.FromResource("ATool.Resources.Images.test.png", typeof(你的ContentView类).Assembly);

这种方式需要确保图片的生成操作是嵌入式资源,不过更推荐用前面的MauiImage配置方式,更符合MAUI的资源管理规范。

内容的提问来源于stack exchange,提问作者JeffM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 00:13:22