私はいくつかのラピッド プロトタイピングを行っており、Web サイトの管理インターフェイスのモックを作成しようとしており、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 またはコードを介して) グリッド内の列を自動生成できますか??