使用Xamarin.Forms在右侧的Master Detail页面

时间:2014-09-15 06:17:20

标签: xamarin xamarin.forms cross-platform right-to-left master-detail

我使用Xamarin.Forms在左侧创建了一个主详细信息页面,如何为右侧创建相同的内容?

下面是我左侧滑块菜单的示例代码;

public class App
{
    static MasterDetailPage MDPage;

    public static Page GetMainPage()
    {
        return MDPage = new MasterDetailPage {
            Master = new ContentPage {
                Title = "Master",
                BackgroundColor = Color.Silver,
                Icon = Device.OS == TargetPlatform.iOS ? "menu.png" : null,
                Content = new StackLayout {
                    Padding = new Thickness(5, 50),
                    Children = { Link("A"), Link("B"), Link("C") }
                },
            },
            Detail = new NavigationPage(new ContentPage {
                Title = "A",
                Content = new Label { Text = "A" }
            }),
        };
    }

    static Button Link(string name)
    {
        var button = new Button {
            Text = name,
            BackgroundColor = Color.FromRgb(0.9, 0.9, 0.9)
        };
        button.Clicked += delegate {
            MDPage.Detail = new NavigationPage(new ContentPage {
                Title = name,
                Content = new Label { Text = name }
            });
            MDPage.IsPresented = false;
        };
        return button;
    }
}

3 个答案:

答案 0 :(得分:2)

这在Xamarin.Forms控件集中不存在,但您可以使用每个平台的渲染器创建自己的控件。

您可以在http://developer.xamarin.com/guides/cross-platform/xamarin-forms/custom-renderer/

找到所需信息

答案 1 :(得分:0)

这里的解决方案

现在支持xamarin forms 3.0及更高版本,没有自定义渲染器 需要!!或第三方图书馆。

诀窍是强制布局为RTL, 当流向工作时,很难使顶部导航栏跟随, 下面是该问题的解决方案,它可以工作......如果你在旧的ios版本IOS8及更低版本上遇到任何问题,请告诉我。

xamarin forms RTL master details page with icon RTL/LTR hamburger

答案 2 :(得分:-1)

你可以通过ToolbarItems in Xamarin Forms来实现 ToolbarItems将出现在右侧。

您可以从以下链接中找到更多信息: http://codeworks.it/blog/?p=232