C# MVVM Light Dispatcher helper设计时错误
在为Windows Phone 8.1 WinRT应用程序构建其中一个视图模型的过程中,我有一个调用C# MVVM Light Dispatcher helper设计时错误,c#,winrt-xaml,mvvm-light,dispatcher,C#,Winrt Xaml,Mvvm Light,Dispatcher,在为Windows Phone 8.1 WinRT应用程序构建其中一个视图模型的过程中,我有一个调用DispatcherHelper.CheckBeginInvokeOnUI 我在运行时在App.xaml.cs OnLauched事件处理程序中初始化了DispatcherHelper,但在设计时,当我调用DispatcherHelper.CheckBeginInvokeOnUI时,我收到一条异常消息“DispatcherHelper未初始化” 除了有条件地调用DistpatcherHelper检
DispatcherHelper.CheckBeginInvokeOnUI
我在运行时在App.xaml.cs OnLauched事件处理程序中初始化了DispatcherHelper
,但在设计时,当我调用DispatcherHelper.CheckBeginInvokeOnUI
时,我收到一条异常消息“DispatcherHelper未初始化”
除了有条件地调用
DistpatcherHelper
检查ViewModelBase.IsInDesignMode
之外,在设计期间是否有其他方法可以避免此问题?如问题中所述,避免此问题的一种可能方法是首先检查我们是否处于设计模式,如中所述:
using System;
using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.Threading;
namespace MvvmLight.Helpers
{
public class DesignAwareDispatcherHelper
{
public static void CheckDesignModeInvokeOnUI(Action action)
{
if (action == null)
{
return;
}
if (ViewModelBase.IsInDesignModeStatic)
{
action();
}
else
{
DispatcherHelper.CheckBeginInvokeOnUI(action);
}
}
}
}