.NET MAUI ShellContent 未找到

Posted

技术标签:

【中文标题】.NET MAUI ShellContent 未找到【英文标题】:.NET MAUI ShellContent not found 【发布时间】:2022-01-07 11:09:36 【问题描述】:

我在我的 Shell 中添加了一个 TabBar:

<Application.MainPage>
    <Shell>
    ...
    <TabBar x:Name="PhoneTabs">
        <Tab Title="Home" Icon="tab_home.png">
            <ShellContent ContentTemplate="DataTemplate page:MainPage"/>
        </Tab>
    </TabBar> 
    ...
</Shell>

App.cs

public partial class App : Application

    public App()
    
        InitializeComponent();
    

我得到这个错误:

App.xaml(62,35): XamlC error XFC0000: Cannot resolve type ":MainPage".

在我将布局更改为 Shell 之前,MainPage 存在并且没问题(使用官方 MAUI Xaml 模板表单 VS 2022 预览版)。之前的代码:

protected override Window CreateWindow(IActivationState activationState) =>
    new Window(new NavigationPage(new MainPage()))  Title = "My App" ;

已经尝试过清理和构建。

【问题讨论】:

xaml 命名空间“页面”是否与定义 MainPage 的位置相同? 哇,谢谢。现在我记得我为什么讨厌 XAML。它现在适用于 xmlns:page="clr-namespace:XXXX 。现在我必须弄清楚 Shell 是如何工作的:D 【参考方案1】:

[添加此社区答案,因此很明显问题已解决。]

OP(原始海报)在上面的评论中报告说,他们通过添加命名空间声明解决了问题。

在xaml中,文件顶部的部分声明:

xmlns:page="clr-namespace:XXXX    <-- replace XXXX with your namespace.

然后在从该命名空间定义 XAML 中的元素时:

<page:YourElementName ... />

用你想要的任何“昵称”替换“页面”。

【讨论】:

以上是关于.NET MAUI ShellContent 未找到的主要内容,如果未能解决你的问题,请参考以下文章

MAUI.NET MAUI – Calling RESTFUL API

创建新的 .NET 6 MAUI 项目

.NET MAUI 跨平台应用开发 I|.NET MAUI 跨平台基础

[MAUI]在.NET MAUI中复刻苹果Cover Flow

将Abp移植进.NET MAUI项目:搭建项目

.NET MAUI实战 FilePicker