首页 > 解决方案 > 为什么 MasterDetailPage.IsPresented 不起作用?

问题描述

我正在使用Xamarin.Forms创建一个使用MasterDetailPage的简单应用程序。当我在我的母版页上时,我想单击一个特定按钮来关闭母版页。为此,我IsPresented=false;在我的代码隐藏中使用,但它在我第一次尝试时不起作用,所以我重写了我的组件,第二次成功了IsPresented=false;。我将发布指向我的 github 存储库的链接,其中包含非常简单的示例代码,显示工作变体并且不工作,但最重要的部分来自我的父母,LiveLabel.xaml我将在这里发布。

<MasterDetailPage.Master>
        <pages:LiveLabelMaster x:Name="MasterPage"/>
    </MasterDetailPage.Master>

这里我有另一个组件 LiveLabelMaster.xaml 和 LiveLabelMaster.xaml.cs 我的逻辑在哪里

  <MasterDetailPage.Master>
            <ContentPage Padding="10"
                     BackgroundColor="Gray"
                     Title="Master"
                     Icon="hamburger.png">
            <ContentPage.Content>
                <StackLayout Margin="5,30,5,5">
                    <Label Text="Master Page">
                    </Label>

                    <Button x:Name="b1"
                            Text="Close master page"
                            BackgroundColor="Yellow"
                            Clicked="CloseMasterPage"></Button>
                </StackLayout>
            </ContentPage.Content>
        </ContentPage>

    </MasterDetailPage.Master>

在这里,我没有其他组件,我的整个逻辑都在这里。而且我认为它起作用的原因是因为我在同一个组件中实现了我的整个逻辑,但我不知道为什么。

谁能告诉我为什么它以一种方式起作用,但另一方面却不起作用?

标签: c#xamlxamarinxamarin.formsxamarin.android

解决方案


推荐阅读