这是我的情况 - 我正在开始我的第一个SL应用程序来自Windows背景,我有MVC模式。我想我可以利用tha模式,所以我直接创建了一个包含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(模型)?
感谢您的任何建议。
=============================
BTW,在调试时,在“Autos”窗口中,我注意到_GetEMployeesCompleted()上出现了以下值:
dataGrid.ItemSource ........... Count = 30 e.Result ......... Count = 30
为什么值不显示在我的DataGrid上?
答案 0 :(得分:0)
您是否在DataGrid上设置了AutoGenerateColumns = true? EmployeeCollection实现了哪些接口?
答案 1 :(得分:0)
请原谅这个愚蠢的问题,但由于我们没有看到如何实现Employee类,您的Employee类是否公开了公共属性(而不仅仅是公共成员)?您只能绑定到属性,这可能解释了为什么DataGrid不会自动生成列。
答案 2 :(得分:0)
这个问题有点陈旧,但我遇到了类似的问题......
您使用的是主题引擎吗?我注意到使用主题引擎的另一个控件(ChildWindow,Tab等)中的网格会导致子项无法呈现。我已经提出了工具包人员的错误,所以我们会看看它是否得到修复。