我在Mobile Emulator 10586上部署一个简单的Prism.Mvvm应用程序时遇到异常,它可以在模拟器和本地计算机上运行。 我正在引用Prism.storeapps包。这是我的代码
App.xaml.cs
namespace MvvmSample
{
sealed partial class App : MvvmAppBase
{
public App()
{
InitializeComponent();
}
public enum Expirences
{
Main
}
protected override Task OnLaunchApplicationAsync(LaunchActivatedEventArgs args)
{
this.NavigationService.Navigate(Expirences.Main.ToString(), null);
return Task.FromResult<object>(null);
}
}
}
MainPage.xaml中
<controls:PageBase
x:Class="MvvmSample.Views.MainPage"
xmlns:controls="using:MvvmSample.Controls"
xmlns:prism="using:Microsoft.Practices.Prism.Mvvm"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:MvvmSample"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
prism:ViewModelLocator.AutoWireViewModel="True"
mc:Ignorable="d">
<d:Page.DataContext>
<local:MainPageViewModel/>
</d:Page.DataContext>
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<TextBlock Text="{Binding Title}" FontSize="29.333" />
</Grid>
</controls:PageBase>
查看
namespace MvvmSample
{
namespace Controls
{
public abstract partial class PageBase : Page, IView { }
}
namespace Views
{
public sealed partial class MainPage : Controls.PageBase
{
public MainPage()
{
this.InitializeComponent();
}
}
}
namespace ViewModels
{
public class MainPageViewModel : Microsoft.Practices.Prism.Mvvm.ViewModel
{
public string Title { get; set; }
public MainPageViewModel()
{
this.Title = "Run Time";
}
}
}
}
答案 0 :(得分:1)
您使用的是Prism.StoreApps,它是适用于Windows 8.1的软件包。对于UWP,您应该使用Prism.Windows。它在您的计算机上工作的原因是因为Windows 10可以运行Windows 8应用程序。虽然模拟器是特定的SDK构建。
有关适用于Windows 10的可用NuGet包的更多信息(包括依赖注入),请查看official GitHub repo。 this repo中也提供了一些示例。