【发布时间】:2012-01-09 15:55:43
【问题描述】:
我已经了解了许多 Silverlight 控件能够从 Lightswitch 屏幕调用方法和访问数据集合的示例。
我想访问当前在 silverlight 控件上查看的编辑表单中记录的 ID 字段,以便在另一个系统中查找相关数据。
我尝试在 Common 项目中实现一个接口,该接口返回一个字符串,并在我的 Silverlight 中使用以下内容来访问它。自定义类是一个名为 Silverlight Bridge 的接口,可以成功调用屏幕上的方法,但是似乎无法返回返回值。
var objDataContext = (IContentItem)this.DataContext;
var Screen = (Microsoft.LightSwitch.Client.IScreenObject)objDataContext.Screen;
string myVar = "Empty";
var SilverlightBridge = (LightSwitchApplication.UserCode.ISilverLightBridge)Screen;
Screen.Details.Dispatcher.BeginInvoke(() =>
{
myVar = SilverlightBridge.GetVehicleID();
});
MessageBox.Show(myVar) ;
似乎从未设置过 myVar。
是否有可以指向我的示例代码或任何人都可以建议的解决方案?
【问题讨论】:
-
注意:
Screen.Details.Dispatcher.BeginInvoke异步运行 在单独的线程上,并且在调用MessageBox.Show之前可能不会执行。而是在myVar =上断点代码,看看你是否得到了一个值。
标签: silverlight silverlight-4.0 visual-studio-lightswitch