子データグリッドがネストされたシルバーライトのデータグリッドがあります。また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が 1 つあります。
DataContext = pgv;
行がクリックされると、子データグリッドの ItemsSource プロパティを別の に設定しますPagedCollectionView
。
私の問題は、最初の行を除いて初めて正常に動作することです。dgData_RowDetailsVisibilityChanged
クリックしてもイベントが発生しません。
また、2 行目をクリックすると、最初の行でイベントが発生し、次に 2 行目でイベントが発生してネストされたグリッドが表示されます。