【问题标题】:Return Values from Lightswitch Screen to Silverlight Control从 Lightswitch 屏幕返回值到 Silverlight 控件
【发布时间】: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


【解决方案1】:

使用 LightSwitch,您只需绑定到集合,然后通过绑定获取值,供您的 Silverlight 控件使用。

在您的情况下,“我当前正在查看的编辑表单中记录的 ID 字段”是集合中的一个值(可能是集合的“.SelectedItem”)。

您希望将 Silverlight 控件绑定到此值。

您只想通过用户在 Silverlight 控件上引发事件来使用您描述的模式来启动事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多