gpt4 book ai didi

c# - MVVM Light Dispatcher 助手设计时错误

转载 作者:太空宇宙 更新时间:2023-11-03 10:28:55 27 4
gpt4 key购买 nike

在为 Windows Phone 8.1 WinRT 应用程序构建其中一个 View 模型期间,我调用了 DispatcherHelper.CheckBeginInvokeOnUI

我在运行时在 App.xaml.cs OnLauched 事件处理程序中初始化 DispatcherHelper,但在设计期间,当我调用 DispatcherHelper.CheckBeginInvokeOnUI 时,我没有完成此初始化,我得到一个异常消息“The DispatcherHelper is not initialized”

除了有条件地调用 DistpatcherHelper 并首先检查 ViewModelBase.IsInDesignMode 之外,在设计时是否有任何方法可以避免此问题?

最佳答案

如问题中所述,避免此问题的一种可能方法是检查我们是否首先处于设计模式,如 this gist 中所做的那样。 :

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);
}
}
}
}

关于c# - MVVM Light Dispatcher 助手设计时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30855695/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com