我在 MainPage.xaml 中有一个 Guage 控件,它需要三个值(值、最小值和最大值)。我已经编写了在存储过程中从数据库中获取这三个值的逻辑。
请让我知道如何在 DomainService 中调用这些值并将量规控件属性绑定到它。
我在 MainPage.xaml 中有一个 Guage 控件,它需要三个值(值、最小值和最大值)。我已经编写了在存储过程中从数据库中获取这三个值的逻辑。
请让我知道如何在 DomainService 中调用这些值并将量规控件属性绑定到它。
下面我将阐明我的知识转储,因为我花了一些时间来准确地弄清楚这一点,并且我想根据 SO 的文档指南为我们以外的任何人做出贡献:
0) 我假设您已经实现了所有存储过程并正在使用 RIA 服务(因为它们对于 Silverlight 开发更简单)
1) 在 .Web 中,添加一个新的 EDM - 您需要通过导入功能手动拉入所有存储过程。此时应该为您完成自动生成的代码部分,继续构建您的项目。
2) 是时候添加您的域服务了。添加一个新的域服务,这不会自动生成代码来拉入您的存储过程。
3) 接下来,访问 leeontech (http://leeontech.wordpress.com/2010/05/24/ria-services-and-storedprocedures/) 以根据您的存储过程定义进行一些手动编码。您在这里所做的是从存储过程中公开数据。
4) 开始使用你新创建的类
5) 在silverlight 中,当您在前端使用Gauge 时,请确保首先使用Math.Max() 分配最大值,并且类似地在Load completed 事件处理程序中使用Math.Min() 方法分配最小值。这样可以保证异步请求已完成并且您有可用的值。实际上,在 Visual Studio 中,甚至可以很容易地调试该事件处理程序。
ps:Visual Studio 工具可以识别并允许您根据您在步骤 1 中实现的存储过程创建复杂类型。作为我个人的最佳实践,我喜欢尽可能唯一地分配返回列名称,从而使用它们在客户端代码中以相同的方式。
在存储过程的最终选择中,我会做类似的事情
选择 actualValueInDatabase 作为 clientSideDataTypeIWant...
如果这有意义
如果上述任何一项不清楚,请告诉我,我会尝试更新更多信息。
祝你好运!