Как установить MainPage из App.xaml вместо App.xaml.cs? - PullRequest
0 голосов
/ 10 апреля 2020

Я хочу узнать, как установить MainPage свойство App в MyPage, наследуемое от ContentPage. В App.xaml.cs это легко сделать следующим образом.

public partial class App : Application
{

    public App()
    {
        InitializeComponent();

        MainPage = new MyPage();
    }

}

Как сделать то же самое, но из XAML?

<?xml version="1.0" encoding="utf-8" ?>
<Application xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:d="http://xamarin.com/schemas/2014/forms/design"
             mc:Ignorable="d"
             x:Class="MyProject.App">

    <!-- Others have been removed only for simplicity! -->
    <Application.MainPage>
       <!-- I don't know what I have to do here. -->       
    </Application.MainPage>
</Application>

Ответы [ 2 ]

1 голос
/ 10 апреля 2020

вам нужно объявить локальное пространство имен

<?xml version="1.0" encoding="utf-8" ?>
<Application xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
         xmlns:d="http://xamarin.com/schemas/2014/forms/design"
         mc:Ignorable="d"
         xmlns:local="clr-namespace:MyNamespace"
         x:Class="MyProject.App">


<Application.MainPage>
   <local:MyPage />    
</Application.MainPage>

0 голосов
/ 30 апреля 2020

Другой подход:

<Application <!--remove for simplicity-->                 
             MainPage="{StaticResource myPage}">
    <Application.Resources>
        <ResourceDictionary>
            <local:MyPage x:Key="myPage"/>
        </ResourceDictionary>
    </Application.Resources>
</Application>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...