我正在编写一个需要显示一些数据的Silverlight应用程序。 有两个DataGrids: 第一个显示“用户”类。该类包含几个字段,如“名称”,“性别”,“等级”,“部门”,“指纹”。 “指纹”包含多个“指纹”类。 现在我需要将两个DataGrid链接在一起 - 第一个显示所有用户,第二个显示在第一个DataGrid中选择的一个用户的指纹。
BTW:我正在使用WCF域服务为这两个DataGrids提供数据源。
更新1: XAML代码:
<sdk:Page.Resources>
<CollectionViewSource x:Key="studentFingerprintsViewSource" Source="{Binding Path=Data.Fingerprints, ElementName=dds_Main}" />
</sdk:Page.Resources>
<riaControls:DomainDataSource x:Name="dds_Main" QueryName="GetStudentsQuery">
<riaControls:DomainDataSource.FilterDescriptors>
<riaControls:FilterDescriptor Operator="Contains" PropertyPath="Number" Value="{Binding Text, ElementName=txt_UserID, Mode=TwoWay}"/>
</riaControls:DomainDataSource.FilterDescriptors>
<riaControls:DomainDataSource.DomainContext>
<ds:AllDomainContext />
</riaControls:DomainDataSource.DomainContext>
</riaControls:DomainDataSource>
<sdk:DataGrid AutoGenerateColumns="True" ItemsSource="{Binding ElementName=dds_Main, Path=Data}" Margin="12,38,8,0" Name="dg_Main" RowDetailsVisibilityMode="VisibleWhenSelected" Height="168" VerticalAlignment="Top" />
<sdk:DataGrid AutoGenerateColumns="True" Height="200" HorizontalAlignment="Left" ItemsSource="{Binding Source={StaticResource studentFingerprintsViewSource}}" Margin="406,320,0,0" Name="fingerprintsDataGrid" RowDetailsVisibilityMode="VisibleWhenSelected" VerticalAlignment="Top" Width="400" />
class Fingerprint
{
int id;
/* something more */
}
Class Student
{
int id;
/* Fingerprints. I forgot the type. All models classes are generated by Entity Model Designer */
/* something more */
}
第一个DataGrid可以正确显示所有学生,后者总是没有显示...