MonoTouch.Dialog:在后台设置 StyledStringElement 的图像

Posted

技术标签:

【中文标题】MonoTouch.Dialog:在后台设置 StyledStringElement 的图像【英文标题】:MonoTouch.Dialog: Setting Image of StyledStringElement in Background 【发布时间】:2012-04-12 00:47:49 【问题描述】:

我的应用程序计算 StyledStringElement 的图像,这个过程需要大量时间。这一切都在本地完成。

我怎样才能做这样的伪代码:

myElement.Image = PlaceHolderImage; 
myElement.GoGetTheImageFromSomeLongRunningTask = GetImageFromSomeFuntionThatWillTakeTime();

【问题讨论】:

【参考方案1】:

你可以使用这样的东西(未测试):

myElement.Image = PlaceHolderImage;
ThreadPool.QueueUserWorkItem ((v) =>

    var image = GetImageFromSomeFunctionThatWillTakeTime ();
    BeginInvokeOnMainThread (() =>
    
        myElement.Image = image;
        myRoot.ReloadData ();
    );
);

请注意,这假设 GetImageFromSomeFunctionThatWillTakeTime 实际上可以在辅助线程上执行。您可以使用当前的 MonoTouch 测试版 (5.3.2) 轻松地对此进行测试,因为如果您在辅助线程上执行了不允许的操作,则会出现异常。

【讨论】:

以上是关于MonoTouch.Dialog:在后台设置 StyledStringElement 的图像的主要内容,如果未能解决你的问题,请参考以下文章

UIPopoverController w/MonoTouch.Dialog 会导致不需要的弹出框大小调整

带有 MonoTouch.Dialog 的 UISplitViewController

MonoTouch.Dialog StyledStringElement

Monotouch.Dialog - 哪个元素被点击

DateTimeElement (Monotouch.Dialog) 上缺少后退按钮

Monotouch.Dialog MultiLineElement