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

.NET MAUI(Mac版VS):iPhone模拟器无法加载图片资源问题

.NET MAUI TabBar图标导致应用黑屏问题排查

我近期刚开始学习.NET MAUI,若问题较为基础还请见谅。

以下是我的原始AppShell.xaml代码:

<?xml version="1.0" encoding="UTF-8" ?>
<Shell
    x:Class="Walmo_e_wallet_u.AppShell"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:local="clr-namespace:Walmo_e_wallet_u"
    xmlns:pages="clr-namespace:Walmo_e_wallet_u.Pages"
    Shell.FlyoutBehavior="Disabled">

    <TabBar>
        <Tab Title="Home">
            <ShellContent ContentTemplate="{DataTemplate pages:HomePage}" />
        </Tab>
        <Tab Title="Chart">
            <ShellContent ContentTemplate="{DataTemplate pages:ChartPage}" />
        </Tab>
        <Tab Title="QR">
            <ShellContent ContentTemplate="{DataTemplate pages:QrPage}" />
        </Tab>
        <Tab Title="Notification">
            <ShellContent ContentTemplate="{DataTemplate pages:NotificationPage}" />
        </Tab>
        <Tab Title="Wallet">
            <ShellContent ContentTemplate="{DataTemplate pages:WalletPage}" />
        </Tab>
    </TabBar>
</Shell>

我已将图片拖拽至项目的image文件夹中:
项目image文件夹内的图标文件

之后我尝试给Tab设置图标,修改后的TabBar代码如下:

<TabBar>
    <Tab Title="Home" Icon="home.png">
        <ShellContent ContentTemplate="{DataTemplate pages:HomePage}" />
    </Tab>
    <Tab Title="Chart" Icon="chart.png">
        <ShellContent ContentTemplate="{DataTemplate pages:ChartPage}" />
    </Tab>
    <Tab Title="QR" Icon="qr.png">
        <ShellContent ContentTemplate="{DataTemplate pages:QrPage}" />
    </Tab>
    <Tab Title="Notification" Icon="notification.png">
        <ShellContent ContentTemplate="{DataTemplate pages:NotificationPage}" />
    </Tab>
    <Tab Title="Wallet" Icon="wallet.png">
        <ShellContent ContentTemplate="{DataTemplate pages:WalletPage}" />
    </Tab>
</TabBar>

但构建运行模拟器后屏幕黑屏且无报错信息,移除TabBar中的图标代码后应用可正常加载,请问我遗漏了什么?


问题排查与解决方法

  • 检查图片的构建操作设置:右键点击image文件夹中的每张图片,选择【属性】,确保构建操作设置为MauiImage,这是.NET MAUI识别图片资源的必要配置,未设置的话应用无法正确加载图片,可能导致黑屏。
  • 确认图片路径是否正确:如果图片放在image子文件夹中,图标路径需要写成image/home.png,而不是直接写home.png,否则MAUI无法找到对应资源。
  • 验证图片格式与大小:确保图片是支持的格式(如PNG、JPG),且尺寸符合平台规范(通常移动端Tab图标建议使用24x24、36x36等适配不同DPI的尺寸,也可提供多分辨率图片并命名为home@2x.png、home@3x.png格式),格式或尺寸异常可能导致加载失败。
  • 清理项目并重新构建:有时候缓存会导致资源加载异常,可尝试清理项目(点击Visual Studio的【生成】→【清理解决方案】),然后删除bin和obj文件夹,再重新构建运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 08:32:45