Xamarin 如何使用MVVMCross for Windows Phone Universal Platform连接视图和视图模型?
我有一个pcl dll(Xamarin),所有的视图模型、模型、服务、接口、转换器都在这个项目中 我已经在Android和IOS上使用这个核心,现在将启动Windows Phone应用程序 我现在的主要问题是,如何使viewmodel成为视图的datacontext。对于示例:LoginView模型.cs(core)和LoginView.xaml 我使用的是MVVMCross,Windows Phone项目是8.1 比你提前 更新: 我试过这个:Xamarin 如何使用MVVMCross for Windows Phone Universal Platform连接视图和视图模型?,xamarin,windows-phone-8.1,mvvmcross,Xamarin,Windows Phone 8.1,Mvvmcross,我有一个pcl dll(Xamarin),所有的视图模型、模型、服务、接口、转换器都在这个项目中 我已经在Android和IOS上使用这个核心,现在将启动Windows Phone应用程序 我现在的主要问题是,如何使viewmodel成为视图的datacontext。对于示例:LoginView模型.cs(core)和LoginView.xaml 我使用的是MVVMCross,Windows Phone项目是8.1 比你提前 更新: 我试过这个: <views:MvxWindowsPage
<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();
}
但是这样viewmodel就不会使用所需的参数启动。。。(恶习)
这让我觉得更好的方法是第一步:
public sealed partial class LoginView : MvxWindowsPage<LoginViewModel> but I get error...
公共密封部分类LoginView:MvxWindowsPage但我得到错误。。。
您可以像MvvmCross中的其他平台一样使用
public class LoginPage : MvxWindowsPage<LoginViewModel>
{
}
公共类登录页面:MvxWindowsPage
{
}
在您的视图中,您将看到如下内容:
<views:MvxWindowsPage
x:Class="somenamspace.Views.LoginPage">
<!-- Put your layout here -->
</views:MvxWindowsPage>
datacontext现在已经为该视图完成。Hi Martijn,但是一旦我将view.cs部分类更改为:public sealed partial class LoginView:MvxWindowsPage,我就会收到以下错误:“LoginView的部分声明不能指定不同的基类”,那么您是否也将xaml视图更改为相同的基类?它们都必须是MvxWindowsPage类型。你可以在这里看到:是的,我做了…:
<views:MvxWindowsPage
x:Class="somenamspace.Views.LoginPage">
<!-- Put your layout here -->
</views:MvxWindowsPage>