Xamarin表单 - 允许两个页面共享相同的代码隐藏

时间:2017-03-01 23:22:32

标签: c# .net xamarin xamarin.forms partial-classes

以下是Xamarin Forms页面的常用结构:

LoginPage.cs

/// <summary>
/// UI Code
/// </summary>
public partial class LoginPage : ContentPage
{
    /// <summary>
    /// Created the view content
    /// </summary>
    private void InitializeComponent()
    {
        // Controls
    }
}

LoginPageCode.cs

/// <summary>
/// Code Behind
/// </summary>
public partial class LoginPage
{
    public LoginPage()
    {
        InitializeComponent();
    }

    // Events
}

这适用于大多数情况,但我第一次开发手机和平板电脑。

在这种情况下,手机与平板电脑的登录页面的用户界面会有所不同,我希望根据设备习惯推送一个完全不同的页面。

示例:

if (Device.Idiom == TargetIdiom.Phone)
{
    await Navigation.PushAsync(new LoginPhonePage());
}
else
{
    await Navigation.PushAsync(new LoginTabletPage());
}

现在,它只是真正改变的UI代码所以我想为两个页面保留相同的代码。

为两个页面共享相同代码隐藏的最佳方法是什么,所以我不必为每个UI页面创建一个?

1 个答案:

答案 0 :(得分:0)

你不需要这样的东西: http://arteksoftware.com/ioc-containers-with-xamarin/

我认为IoC-Framework在您的情况下非常有用......