【发布时间】:2011-02-25 03:40:05
【问题描述】:
我在 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 事件。
另外,当我点击第二行时,首先第一行触发事件,然后第二行触发它并显示嵌套网格。
【问题讨论】:
-
这个问题中没有工具包的使用,也没有版本 4 的工具包(有 Apr10,但我认为我们不想做出如此精细的区分)
标签: silverlight datagrid silverlight-4.0 datapager