第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在WinRT中的UI線程上運行代碼

在WinRT中的UI線程上運行代碼

蠱毒傳說 2019-09-02 09:15:52
如何在WinRT(Windows 8 Metro)中的UI線程上運行代碼?該Invoke方法不存在。
查看完整描述

3 回答

?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

從非UI線程直接獲取CoreWindow更容易。以下代碼可以在任何地方使用,即使是GetForCurrentThread()或Window.Current返回null。


CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,

    <lambda for your code which should run on the UI thread>);

例如:


CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,

    () =>

    {

        // Your UI update code goes here!

    });

您需要引用Windows.ApplicationModel.Core命名空間:


using Windows.ApplicationModel.Core;


查看完整回答
反對 回復 2019-09-02
?
當年話下

TA貢獻1890條經驗 獲得超9個贊

使用:


從您的UI線程,執(zhí)行:


var dispatcher = Windows.UI.Core.CoreWindow.GetForCurrentThread().Dispatcher;

從你的背景(非UI線程)


dispatcher.RunAsync(DispatcherPriority.Normal, 

    <lambda for your code which should run on the UI thread>);

這應該適用于CP和后期版本。


查看完整回答
反對 回復 2019-09-02
?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

在我看來,這是一種更容易的方法。


獲取與UI關聯的TaskScheduler。


    var UISyncContext = TaskScheduler.FromCurrentSynchronizationContext();

然后在上面的UISyncContext上啟動一個新任務。


    Task.Factory.StartNew(() => { /* Do your UI stuff here; */}, new System.Threading.CancellationToken(), TaskCreationOptions.PreferFairness, UISyncContext);



查看完整回答
反對 回復 2019-09-02
  • 3 回答
  • 0 關注
  • 630 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號