为什么MasterDetailPage.IsPresented不起作用?

时间:2019-04-29 13:05:44

标签: c# xaml xamarin xamarin.forms xamarin.android

我正在使用 Xamarin.Forms 使用 MasterDetailPage 创建一个简单的应用程序。当我进入母版页时,我想单击特定按钮以关闭母版页。为此,我在后面的代码中使用了IsPresented=false;,但是在我第一次尝试时它不起作用,因此我重写了组件,第二次IsPresented=false;工作了。我将使用非常简单的示例代码将链接发布到我的github repo,该示例代码显示了有效的变体但不起作用,但最重要的部分 我父母LiveLabel.xaml的来信。

  • 这是IsPresented无效的逻辑
<MasterDetailPage.Master>
        <pages:LiveLabelMaster x:Name="MasterPage"/>
    </MasterDetailPage.Master>

这里我还有另一个组件LiveLabelMaster.xaml和LiveLabelMaster.xaml.cs,这是我的逻辑

  • 这里正在使用IsPresented逻辑
  <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>

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

有人可以告诉我为什么它以一种方式起作用,而另一方面却没有吗?

0 个答案:

没有答案