Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin.forms 母版详情页“;“拆分”;超宽带_Xamarin.forms_Uwp - Fatal编程技术网

Xamarin.forms 母版详情页“;“拆分”;超宽带

Xamarin.forms 母版详情页“;“拆分”;超宽带,xamarin.forms,uwp,Xamarin.forms,Uwp,我正在使用Xamarin.Forms(v.3.4.0.1008975)在Windows10(1809)上构建一个UWP应用程序 我想创建一个具有拆分行为的MasterDetailPage(一个固定的导航菜单,总是在左侧可见,内容页显示在右侧)。这是有案可查的 使用可用的示例代码,我已将MasterBehavior=“Split”添加到MasterDetailPageNavigation项目中的XAML/MainPage.XAML文件中: <MasterDetailPage xmlns="h

我正在使用Xamarin.Forms(v.3.4.0.1008975)在Windows10(1809)上构建一个UWP应用程序

我想创建一个具有拆分行为的MasterDetailPage(一个固定的导航菜单,总是在左侧可见,内容页显示在右侧)。这是有案可查的

使用可用的示例代码,我已将MasterBehavior=“Split”添加到MasterDetailPageNavigation项目中的XAML/MainPage.XAML文件中:

<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
              xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
              xmlns:local="clr-namespace:MasterDetailPageNavigation;assembly=MasterDetailPageNavigation"
              x:Class="MasterDetailPageNavigation.MainPage"
              MasterBehavior="Split">

我希望在左侧看到一个固定的导航菜单,在右侧显示一个内容页。但是,生成的UWP应用程序继续显示“Popover”行为(菜单在内容页上滑入滑出)


如何获得带有固定(不移动)菜单的MasterDetailPage?

请检查您提供的示例中的
MainPage
代码隐藏。在
主页
构造函数中设置了
主行为
。并且在初始化Xaml之后将调用它。因此,将涵盖
拆分
行为

public partial class MainPage : MasterDetailPage
{
    public MainPage()
    {
        InitializeComponent();

        masterPage.listView.ItemSelected += OnItemSelected;

        if (Device.RuntimePlatform == Device.UWP)
        {
            MasterBehavior = MasterBehavior.Popover;
        }
    }

    void OnItemSelected(object sender, SelectedItemChangedEventArgs e)
    {
        var item = e.SelectedItem as MasterPageItem;
        if (item != null)
        {
            Detail = new NavigationPage((Page)Activator.CreateInstance(item.TargetType));
            masterPage.listView.SelectedItem = null;
            IsPresented = false;
        }
    }
}
如果要使用
Split
行为,可以修改以下行。并从xaml中删除
MasterBehavior=“Popover”

if (Device.RuntimePlatform == Device.UWP)
{
    MasterBehavior = MasterBehavior.Split;
}

请检查您提供的示例中的
MainPage
代码隐藏。在
主页
构造函数中设置了
主行为
。并且在初始化Xaml之后将调用它。因此,将涵盖
拆分
行为

public partial class MainPage : MasterDetailPage
{
    public MainPage()
    {
        InitializeComponent();

        masterPage.listView.ItemSelected += OnItemSelected;

        if (Device.RuntimePlatform == Device.UWP)
        {
            MasterBehavior = MasterBehavior.Popover;
        }
    }

    void OnItemSelected(object sender, SelectedItemChangedEventArgs e)
    {
        var item = e.SelectedItem as MasterPageItem;
        if (item != null)
        {
            Detail = new NavigationPage((Page)Activator.CreateInstance(item.TargetType));
            masterPage.listView.SelectedItem = null;
            IsPresented = false;
        }
    }
}
如果要使用
Split
行为,可以修改以下行。并从xaml中删除
MasterBehavior=“Popover”

if (Device.RuntimePlatform == Device.UWP)
{
    MasterBehavior = MasterBehavior.Split;
}

您使用的是什么版本的XF?使用XF版本3.4.0.1008975更新的问题您的问题已解决,对吗?是的,已解决。我忽略了代码隐藏中的一行。您使用的是什么版本的XF?使用XF版本3.4.0.1008975更新的问题您的问题已解决,对吗?是的,已解决。我忽略了后面代码中的那行。