通过代码在 Xamarin 中切换/加载新的详细信息页面

吉普·哈索恩

我如何通过代码加载/切换页面,就像使用 Masterdetailpage 的侧边菜单一样?

视频

如果您单击侧边菜单上的页面名称,您将转到该页面,同时在新页面上保留菜单按钮。你如何通过代码做到这一点?

MainPage.xaml(这是主页)

<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms" 
              xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
              xmlns:local="clr-namespace:TimeToSport;assembly=TimeToSport"
              xmlns:local1="clr-namespace:TimeToSport.Views.Main"
              xmlns:local2="clr-namespace:TimeToSport.Views"
              x:Class="TimeToSport.Views.Main.MainPage">
<MasterDetailPage.Master>
    <local1:MasterPage x:Name="masterPage" />
</MasterDetailPage.Master>
<MasterDetailPage.Detail>
    <NavigationPage>
        <x:Arguments>
            <local2:ItemsPage />
        </x:Arguments>
    </NavigationPage>
</MasterDetailPage.Detail>

母版页.xaml

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:TimeToSport.Views"
             xmlns:local1="clr-namespace:TimeToSport.Views"
             x:Class="TimeToSport.Views.Main.MasterPage"
             Padding="0,40,0,0"
             Icon="hamburger.png"
             Title="Personal Organiser">
    <StackLayout>
        <ListView x:Name="listView" x:FieldModifier="public">
            <ListView.ItemsSource>
                <x:Array Type="{x:Type local:MasterPageItem}">
                    <local1:MasterPageItem Title="Home" IconSource="contacts.png" TargetType="{x:Type local:ItemsPage}" />
                    <local1:MasterPageItem Title="Slaap" IconSource="todo.png" TargetType="{x:Type local:SlaapPage}" />
                    <local1:MasterPageItem Title="Voeding" IconSource="reminders.png" TargetType="{x:Type local:VoedingPage}" />
                </x:Array>
            </ListView.ItemsSource>
            <ListView.ItemTemplate>
                <DataTemplate>
                    <ViewCell>
                        <Grid Padding="5,10">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="30"/>
                                <ColumnDefinition Width="*" />
                            </Grid.ColumnDefinitions>
                            <Image Source="{Binding IconSource}" />
                            <Label Grid.Column="1" Text="{Binding Title}" />
                        </Grid>
                    </ViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
    </StackLayout>
</ContentPage>

我对 masterdetailpage、detailpage 等知之甚少...

如果您通过以下代码进入“Slaap”页面:

Navigation.PushModalAsync(new SlaapPage());

你不会在左上角有菜单按钮,但我希​​望它在那里。

R15

您需要使用Detailpage 来执行此操作,并且您当前的页面应该继承自MasterDetailPage

public partial class MainPage : MasterDetailPage
{
    public MainPage()
    {
        InitializeComponent();
        Detail = new NavigationPage(new HomePage());
        IsPresented = false; //This is to hide side page after pushing new page 

    }
}

如果您喜欢上面的内容Detail = new..,它不会在左上角显示后退按钮箭头。如果你想要后退箭头Actionbar这样做

Detail.Navigation.PushAsync(new HomePage());

如果您想从其他页面执行此操作,请执行以下操作

public void SlaapClicked()
{ 
 Navigation.PushAsync(new SlaapPage());
} 

在 SlaapPage 上隐藏 Navigationbar

public SlaapPage()
{
    InitializeComponent();
    NavigationPage.SetHasNavigationBar(this, false);
}

如果你从其他地方搬来,TabbedPage请这样做

private void SlaapPage(object sender, EventArgs e)
{
    //this.Navigation.PushAsync(new SlaapPage());// not showing back button
    //(App.Current.MainPage as MasterDetailPage).Detail=new NavigationPage(new SlaapPage()); //showing full screen page
    (App.Current.MainPage as MasterDetailPage).Detail.Navigation.PushAsync(new SlaapPage()); //working like google play store app, In SlaapPage page SetHasNavigationBar should be false
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Xamarin Android中切换RadioButton

来自分类Dev

Xamarin昏暗页面(主要详细信息页面)

来自分类Dev

如何更深入地浏览Xamarin详细信息页面

来自分类Dev

xamarin.forms 中的主详细信息页面

来自分类Dev

Xamarin 主详细信息页面自动汉堡包

来自分类Dev

通过代码从网络获取相关详细信息

来自分类Dev

Xamarin iOS从UITableview显示详细信息

来自分类Dev

WPF中切换按钮的代码设计

来自分类Dev

通过AHK在Windows中切换蓝牙?

来自分类Dev

主详细信息页面内的选项卡式页面Xamarin

来自分类Dev

Xamarin-仅在页面加载时执行“ OnAppearing()”代码

来自分类Dev

Xamarin通过VSTS在Google Play上使用的版本代码

来自分类Dev

等待被代码忽略并直接通过 Xamarin.Android

来自分类Dev

使用XAML和Xamarin将母版页注入到母版详细信息页面

来自分类Dev

Xamarin Forms-主详细信息页面上有空白

来自分类Dev

如何使用Xamarin.Forms移除onMaster详细信息页面顶部不必要的标题

来自分类Dev

为什么主详细信息页面中的标题未在android(Xamarin.Forms)上显示

来自分类Dev

为 xamarin.forms 母版页添加标题包含 TabbedPage 作为详细信息页面

来自分类Dev

列表和详细信息页面的固定标题。Xamarin 表单

来自分类Dev

通过在页面加载后切换状态来更改样式化的组件样式

来自分类Dev

Xamarin如何基于ID从Rest API加载listView详细信息?

来自分类Dev

NullReferenceException未通过详细信息视图中的用户代码处理

来自分类Dev

通过代码创建新视图

来自分类Dev

切换 ContentViews Xamarin.Forms

来自分类Dev

如何在xamarin.forms上使用xaml在主详细信息页面中显示页面标题?

来自分类Dev

来自崩溃日志 Xamarin.iOS 的更多详细信息

来自分类Dev

Xamarin 表单,主详细信息中的错误

来自分类Dev

无法删除自定义插件详细信息页面上不需要的切换按钮

来自分类Dev

xamarin表单的Mater详细信息页面中的OnApearing()方法未第二次触发

Related 相关文章

  1. 1

    在Xamarin Android中切换RadioButton

  2. 2

    Xamarin昏暗页面(主要详细信息页面)

  3. 3

    如何更深入地浏览Xamarin详细信息页面

  4. 4

    xamarin.forms 中的主详细信息页面

  5. 5

    Xamarin 主详细信息页面自动汉堡包

  6. 6

    通过代码从网络获取相关详细信息

  7. 7

    Xamarin iOS从UITableview显示详细信息

  8. 8

    WPF中切换按钮的代码设计

  9. 9

    通过AHK在Windows中切换蓝牙?

  10. 10

    主详细信息页面内的选项卡式页面Xamarin

  11. 11

    Xamarin-仅在页面加载时执行“ OnAppearing()”代码

  12. 12

    Xamarin通过VSTS在Google Play上使用的版本代码

  13. 13

    等待被代码忽略并直接通过 Xamarin.Android

  14. 14

    使用XAML和Xamarin将母版页注入到母版详细信息页面

  15. 15

    Xamarin Forms-主详细信息页面上有空白

  16. 16

    如何使用Xamarin.Forms移除onMaster详细信息页面顶部不必要的标题

  17. 17

    为什么主详细信息页面中的标题未在android(Xamarin.Forms)上显示

  18. 18

    为 xamarin.forms 母版页添加标题包含 TabbedPage 作为详细信息页面

  19. 19

    列表和详细信息页面的固定标题。Xamarin 表单

  20. 20

    通过在页面加载后切换状态来更改样式化的组件样式

  21. 21

    Xamarin如何基于ID从Rest API加载listView详细信息?

  22. 22

    NullReferenceException未通过详细信息视图中的用户代码处理

  23. 23

    通过代码创建新视图

  24. 24

    切换 ContentViews Xamarin.Forms

  25. 25

    如何在xamarin.forms上使用xaml在主详细信息页面中显示页面标题?

  26. 26

    来自崩溃日志 Xamarin.iOS 的更多详细信息

  27. 27

    Xamarin 表单,主详细信息中的错误

  28. 28

    无法删除自定义插件详细信息页面上不需要的切换按钮

  29. 29

    xamarin表单的Mater详细信息页面中的OnApearing()方法未第二次触发

热门标签

归档