我正在做一些快速原型设计,并试图模拟一个网站的管理界面并使用 WCF RIA 服务。我能够公开和使用从服务器到客户端的域服务,但是当服务器上的查询结果不包含数据时,我很难在数据网格中自动生成列。
<riaControls:DomainDataSource Name="domainDataSource1"
LoadSize="20" QueryName="GetUsers" AutoLoad="True" >
<riaControls:DomainDataSource.DomainContext>
<ds:CobraDomainContext />
</riaControls:DomainDataSource.DomainContext>
</riaControls:DomainDataSource>
<sdk:DataGrid ItemsSource="{Binding Data, ElementName=domainDataSource1}" AutoGenerateColumns="True" IsReadOnly="False" Width="250" Height="150" >
</sdk:DataGrid>
这会呈现一个空的 250x150 数据网格(无列/无行)。我期待显示用户实体的列,即使没有从服务器返回数据,因为视图最初会有点糟糕。我的大脑似乎无法弄清楚出了什么问题,所以我将使用 stackoverflow 众包。
更新:我有点期待查询的结果是一个类型化的枚举,但似乎 DomainDataService 上的查询结果只是 IEnumerable 但没有类型化,因此内部逻辑需要查看列表以发现什么它包含的数据类型。
所以更新后的问题是:我可以给 DataGrid 一个提示,说明将返回什么类型的数据或自动生成网格中的列(通过 XAML 或代码)?