2017-03-01 58 views
0

這裏是我的一個Xamarin以往的結構構成頁:Xamarin表格 - 允許兩頁共享相同的代碼隱藏

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 
} 

這對大多數情況下工作正常,但我第一次開發的手機和平板電腦。

在這種情況下,手機與平板電腦的登錄頁面的UI會非常不同,因此我想根據設備成語推送完全不同的頁面。

例子:現在

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

,它只有真是日新月異,所以我想後面保持相同的代碼,這兩個頁面的UI代碼。

什麼是共享兩個頁面相同的代碼隱藏的最佳方式,所以我不必爲每個UI頁面創建一個?

+1

我知道這不完全是你問什麼,但實現MVVM在您的應用程序中,並將您的業務代碼移動到ViewModel將允許您使用相同的邏輯來處理不同的頁面,而且工作量很少。 – apineda

回答