2010-05-28 59 views
0

我有一个Silverlight中的数据网格,其中嵌入了子数据网格。另外,我在外部数据网格上有一个DataPager。 的代码看起来是这样的:Silverlight中的Datapager 4 - 嵌套的数据网格可见性问题

<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}"/> 

我有这势必会外的DataGrid作为一个PagedCollectionView PGV:

DataContext = pgv; 

当行被点击我的孩子DataGrid的ItemsSource属性设置为另一个PagedCollectionView

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

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

请帮忙。

+0

在这个问题中没有工具包的用法,也没有第4版工具包(有Apr10,但我不认为我们想做出如此细微的区别) – AnthonyWJones 2010-05-28 19:43:17

回答

0

它在第一次使用时设置dgData.SelectedIndex = -1;时工作。