0

这是我的情况 - 我正在启动我的第一个 SL 应用程序,它来自 Windows 背景,其中我有 MVC 模式。我想我可以利用这种模式,所以我直接创建了一个包含 3 个项目的 SL 应用程序(解决方案)-> 1 个持有我的模型(之前的业务对象),SL 应用程序(当我选择 SL 时自动生成项目)和 1 个 SL.Web 项目(当我选择 SL 项目时自动生成)。

以下是我所做的步骤:我将一个空白网格放到我的 xaml 文件中,创建了一个服务,并且它被识别为没有任何问题。在我的 Web 项目中添加了“启用 Silverlight 的 WCF 服务”,并在我的项目中引用了我的“模型”项目。在 [OperationContract] 中,我创建了以下方法(服务):

[OperationContract]
public EmployeeCollection GetEmployees()
{
     EmployeeCollection employees = Model.EmployeeCollection.GetAllEmployees();
     return employees;
}

当我调试这个并设置断点时,我确实看到了员工返回的数据,所以我知道数据正在被返回。

现在,在我的 page.xaml.cs 文件中,似乎我的网格没有以某种方式填充,但不知道为什么。

我有以下片段:

void MyWebService_GetEmploteesCompleted(object sender, EmployeeWebService.GetEmployeesCompletedEventArgs e)
{
     dataGrid.ItemsSource = e.Result;
}

我还应该去哪里寻找?我能错过什么?我是否必须添加其他代码片段才能与我的 BLL(模型)一起工作?

感谢您的任何建议。

==============================

顺便说一句,在调试时,在“自动”窗口中,我注意到 _GetEMployeesCompleted() 上出现以下值:

dataGrid.ItemSource ...... Count = 30 e.Result ...... Count = 30

为什么值没有显示在我的 DataGrid 上?

4

3 回答 3

0

请原谅这个愚蠢的问题,但是由于我们看不到 Employee 类是如何实现的,那么您的 Employee 类是否公开了公共属性(不仅仅是公共成员)?您只能绑定到属性,这可能解释了 DataGrid 不自动生成列的原因。

于 2009-06-01T01:00:13.353 回答
0

这个问题有点老了,但我遇到了类似的问题......

你在使用主题引擎吗?我注意到在主题引擎中使用另一个控件(ChildWindow、Tab 等)内部的网格会导致子项无法呈现。我已经向工具包人员提出了一个错误,所以我们将看看它是否得到修复。

于 2009-08-22T00:30:52.170 回答
0

您是否在 DataGrid 上设置了 AutoGenerateColumns = true?EmployeeCollection 实现了哪些接口?

于 2009-05-29T13:47:21.430 回答