#c# #xaml #xamarin #maui
Вопрос:
Я добавил панель вкладок в свою оболочку:
lt;Application.MainPagegt; lt;Shellgt; ... lt;TabBar x:Name="PhoneTabs"gt; lt;Tab Title="Home" Icon="tab_home.png"gt; lt;ShellContent ContentTemplate="{DataTemplate page:MainPage}"/gt; lt;/Tabgt; lt;/TabBargt; ... lt;/Shellgt;
Приложение.cs
public partial class App : Application { public App() { InitializeComponent(); } }
И я получаю эту ошибку:
App.xaml(62,35): XamlC error XFC0000: Cannot resolve type ":MainPage".
Главная страница существует и была в порядке, прежде чем я изменил макет на оболочку (используйте официальную форму шаблона Xaml MAUI ПРОТИВ предварительного просмотра 2022 года). Код До:
protected override Window CreateWindow(IActivationState activationState) =gt; new Window(new NavigationPage(new MainPage())) { Title = "My App" };
Уже пробовал чистить и строить.
Комментарии:
1. Как насчет пространства имен xaml «страница» — это то же самое, где определена главная страница ?
2. Вау, спасибо. Теперь я вспомнил, почему я ненавижу XAML. Теперь это работает с
xmlns:page="clr-namespace:XXXX
. Теперь мне нужно выяснить, как на самом деле работает оболочка 😀
Ответ №1:
[Добавляю этот ответ сообщества, чтобы было ясно, что вопрос был решен.]
OP (Оригинальный плакат) сообщает в комментарии выше, что они решили проблему, добавив объявление пространства имен.
В xaml часть объявления в верхней части файла:
xmlns:page="clr-namespace:XXXX lt;-- replace XXXX with your namespace.
Затем при определении элемента в XAML из этого пространства имен:
lt;page:YourElementName ... /gt;
Замените «страницу» любым «ником», который вы хотите.