【问题标题】:mono gtk# async method in ui threadMono gtk# ui 线程中的异步方法
【发布时间】:2013-11-21 21:46:40
【问题描述】:

请参阅此示例:https://github.com/mono/gtk-sharp/blob/master/sample/AsyncSample.cs

它对 UI 事件使用 async/await。在等待工作后,它会检查它是否与 UI 线程同步(这是正确的术语吗?)。在我的个人实验中,它从来没有,该示例总是会打印“不在主线程中”。

这是正确的行为吗?等待工作后我们应该如何更新 UI?

【问题讨论】:

  • await 之前的SynchronizationContext.Current 是什么?
  • @StephenCleary null :p
  • 你确定你有最新版本吗?应该是GLibSynchronizationContext
  • 2.12.0.0 看起来确实比github.com/mono/gtk-sharp/commit/… 更老(假设GlibSynchronizationContext 我认为)。此代码是否有任何稳定版本?
  • 我尝试使用 Git 的 2.12.22,但没有运气。明天用 2.99.1 试试,要先给 Fedora 打包。

标签: mono async-await gtk#


【解决方案1】:

正如 Stephen Cleary 所指出的,这已在最新版本的 gtk-sharp (2.99.1) 中得到修复。

【讨论】:

  • 知道为什么 xamarin 只分发 2.12.30 版本吗?
  • AFAIK:GTK# 2.12.X 是 GTK 2.X 的 C# 绑定。 GTK# 2.99.X 是 GTK 3.X 的 C# 绑定。 MonoDevelop 的 GUI Designer (Stetic) 仅支持开箱即用的 GTK 2.0。
猜你喜欢
  • 1970-01-01
  • 2019-04-29
  • 2010-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多