[英]WP8 How to manage delegates
我是WP8编程的新手,我不知道如何调用异步方法和更新UI。 基本上这是我的示例:
public class MyClassGetFinishedEventArgs : EventArgs
{
public MyClass SomeObject{ get; set; }
public List<MyClass> SomeList{ get; set; }
}
public static class MyClassManager
{
private static MyClassService service = new MyClassService();
public static event EventHandler GetFinished = delegate { };
static MyClassManager()
{
service = new MyClassService();
}
public static void Get()
{
var ea = new MyClassGetFinishedEventArgs();
service.Get(
delegate {
ea.SomeList = service.SomeList;
GetFinished(null, ea);
}
);
}
}
在Android上,我这样拨打电话:
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.frmContent);
MyClassManager.GetFinished += HandleFinishedGet;
MyClassManager.Get();
}
void HandleFinishedGet(object sender, EventArgs ea)
{
var args = ea as GetFinishedEventArgs;
if (args != null)
{
if (args.Success)
{
act.RunOnUiThread(() =>
{
//Do something to update UI
}
);
}
}
}
有没有办法在Windows Phone中执行相同的操作?
你有没有尝试过
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
//update UI?
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.