我有一個pcl dll(Xamarin),所有的視圖模型,模型,服務,接口,轉換器都在這個項目上。如何使用適用於Windows Phone通用平臺的MVVMCross連接View和ViewModel?
我已經在Android和IOS上使用這個核心,現在將啓動Windows Phone應用程序。
我現在的主要問題是,如何爲視圖製作viewmodel datacontext。對於樣本:LoginViewModel.cs(核心)和LoginView.xaml ...
我使用MVVMCross和Windows手機項目是8.1
比你提前。
更新:
我嘗試這樣做:
<views:MvxWindowsPage
x:Class="Tocalivros.WindowsPhone.Views.LoginView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Tocalivros.WindowsPhone.Views"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:views="using:Cirrious.MvvmCross.WindowsCommon.Views"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
public sealed partial class LoginView : MvxWindowsPage<LoginViewModel>
{
public LoginView()
{
this.InitializeComponent();
}
但現在我得到這個錯誤:「‘LoginView’的嚴重性代碼說明項目文件行 錯誤CS0263分部聲明一定不能指定不同的基類「
基於示例,我嘗試了一種不同的方式,而不是製作視圖模型的視圖,我創建了ViewModel作爲屬性並將其設置爲DataContext視圖。 像這樣:
公共密封部分類LoginView:MvxWindowsPage { 公開新LoginViewModel視圖模型 { 得到{(LoginViewModel)base.ViewModel; } set {base.ViewModel = value; }}
public LoginView()
{
this.InitializeComponent();
this.DataContext = ViewModel;
}
但這樣的視圖模型不會與所需的參數開始......(IServices)
這讓我認爲更好的形式給出的是第一:
public sealed partial class LoginView : MvxWindowsPage<LoginViewModel> but I get error...
嗨Martijn,但一旦我將view.cs partial class更改爲:public sealed partial LoginView:MvxWindowsPage我得到這個錯誤:「LoginView的部分聲明不能指定不同的基類」 –
你還將xaml視圖更改爲同一個基類?它們都需要是MvxWindowsPage類型的。你可以在這裏看到:https://github.com/MvvmCross/MvvmCross/blob/4.0/nuspec/WCommonContent/FirstView.xaml.pp – Martijn00
是的,我做了...: