Silverlight 4中的Datapager - 嵌套数据网格可见性问题

时间:2010-05-28 13:54:18

标签: silverlight datagrid silverlight-4.0 datapager

我在silverlight中有一个数据网格,其中嵌套了子数据网格。我在外部数据网格上也有一个DataPager。 代码如下所示:

<data:DataGrid x:Name="dgData"  Width="600" ItemsSource="{Binding}" AutoGenerateColumns="False" IsReadOnly="True"
                       HorizontalScrollBarVisibility="Hidden" CanUserSortColumns="False" RowDetailsVisibilityChanged="dgData_RowDetailsVisibilityChanged" Margin="20,0" Grid.RowSpan="2">
                <data:DataGrid.Columns>
                    <data:DataGridTextColumn Header="Item" Width="*" Binding="{Binding ItemName,Mode=TwoWay}"/>
                    <data:DataGridTextColumn Header="Company" Width="*" Binding="{Binding Company,Mode=TwoWay}"/>
                </data:DataGrid.Columns>
                <data:DataGrid.RowDetailsTemplate>
                    <DataTemplate>
                        <data:DataGrid x:Name="dgRowDetail" Width="400" HorizontalScrollBarVisibility="Hidden" AutoGenerateColumns="False" Visibility="Collapsed">
                            <data:DataGrid.Columns>
                                <data:DataGridTextColumn Header="Date" Width="*" Binding="{Binding Date,Mode=TwoWay}"/>
                                <data:DataGridTextColumn Header="Price" Width="*" Binding="{Binding Price,Mode=TwoWay}"/>
                            </data:DataGrid.Columns>
                        </data:DataGrid>
                    </DataTemplate>
                </data:DataGrid.RowDetailsTemplate>
            </data:DataGrid>

            <data:DataPager x:Name="dpData" HorizontalAlignment="Center" DisplayMode="FirstLastPreviousNextNumeric" Source="{Binding}"/>

我有一个PagedCollectionView pgv,它绑定到外部数据网格:

DataContext = pgv;

单击该行时,我将子数据网格的ItemsSource属性设置为另一个PagedCollectionView

我的问题是第一次除了第一行以外它工作正常。当我点击它时,它不会触发dgData_RowDetailsVisibilityChanged事件。

此外,当我点击第二行时,首先触发事件第一行,然后第二行触发它并显示嵌套网格。

1 个答案:

答案 0 :(得分:0)

我第一次使用时设置了dgData.SelectedIndex = -1;