我一直在开发一个使用 Windows 运行时组件(WRC)的 Windows Phone 应用程序。一个由非 UI 线程访问的函数,需要使用访问 Windows Phone 应用程序的回调。
void WControlPointCallback::OnListChange(char *pFriendlyName)
{
// Callback function to access the UI
pCallBack->AlertCaller("Message");
}
起初没有使用它抛出的 Dispatcher
Platform::AccessDeniedException
.
然后我提到了这个,这个和这个。我试图从 UI 中获取 Dispatcher。
var dispatcher = Windows.UI.Core.CoreWindow.GetForCurrentThread().Dispatcher;
它扔了System.AccessViolationException
。然后我用
pDispatcher = Windows::UI::Core::CoreWindow::GetForCurrentThread()->Dispatcher;
在 C++ 代码(WRC)中。但这也会抛出Platform::AccessDeniedException
.
如何在 Windows Phone 中获取 Dispatcher for UI?