Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从ViewModel';s构造函数_C#_Uwp_Mvvm Light - Fatal编程技术网

C# 从ViewModel';s构造函数

C# 从ViewModel';s构造函数,c#,uwp,mvvm-light,C#,Uwp,Mvvm Light,我正在为运行Windows 10 IoT Mobile并使用UWP的设备开发一个内部应用程序。我正在使用Mvvm Light工具包。应用程序需要用户登录(没什么特别的,只是记录他们的名字以便记录),因此如果没有设置此值(通过保存的设置),应用程序的主ViewModel将导航到登录页面 我在使用Mvvm灯光导航服务时遇到了一个问题。如果尝试从ViewModel的构造函数中导航,则不会发生任何事情 例如,在VisualStudio中,创建一个新的Mvvmlight(Win10Univ)项目。这将创建

我正在为运行Windows 10 IoT Mobile并使用UWP的设备开发一个内部应用程序。我正在使用Mvvm Light工具包。应用程序需要用户登录(没什么特别的,只是记录他们的名字以便记录),因此如果没有设置此值(通过保存的设置),应用程序的主ViewModel将导航到登录页面

我在使用Mvvm灯光导航服务时遇到了一个问题。如果尝试从ViewModel的构造函数中导航,则不会发生任何事情

例如,在VisualStudio中,创建一个新的Mvvmlight(Win10Univ)项目。这将创建一个带有一些导航的示例应用程序

现在将导航代码放入构造函数中,例如:

public MainViewModel(IDataService dataService, INavigationService navigationService)
{
    _dataService = dataService;
    _navigationService = navigationService;
    _navigationService.NavigateTo(ViewModelLocator.SecondPageKey, "12321");
    Initialize();
}
这一行新代码似乎什么也不做,Debbuger直接在它上面,而在输出窗口中什么也不做

有一种想法是,emulator此时仍在显示初始屏幕,因此可能是因为应用程序当时未完全创建


有什么想法吗?

很可能是因为您的应用程序尚未加载

检查问题并接受答案

基本上,它建议(通过交互行为
EventTrigger
)将命令绑定到viewmodel的
加载的
事件


然后,您应该将导航放在该命令中。

很可能是因为您的应用程序尚未加载

检查问题并接受答案

基本上,它建议(通过交互行为
EventTrigger
)将命令绑定到viewmodel的
加载的
事件

然后,您应该将导航放在该命令中