2011-12-28 82 views
1

我們正在創建一個WPF應用程序,我們必須在其中顯示嵌套數據網格。爲此,我們正在使用擴展器控制。但是,發生的是,我們的內部數據網格在點擊擴展器按鈕時顯示,隱藏在我們的主/父數據網格後面。使用擴展控件顯示嵌套數據網格

以下是DataGrid中的XAML代碼:

<DataGrid ItemsSource="{Binding abc}"> 
    <DataGrid.Columns> 
     <DataGridTemplateColumn Width="*" Header="column1"> 
      <DataGridTemplateColumn.CellTemplate> 
      <DataTemplate> 
       <StackPanel Orientation="Horizontal"> 
        <TextBlock Text="{Binding item}"/> 
        <Expander>                
         <Canvas> 
          <DataGrid ItemsSource="{Binding Path=xyz}"> 
           <DataGrid.Columns> 
            <DataGridTextColumn Header="column1"></DataGridTextColumn> 
            <DataGridTextColumn Header="column1"> 
           </DataGrid.Columns> 
          </DataGrid> 
         </Canvas> 
        </Expander> 
       </StackPanel> 
      </DataTemplate> 
     </DataGridTemplateColumn.CellTemplate> 
    </DataGridTemplateColumn> 
</DataGrid> 

任何想法來解決上述問題是非常明顯的。

回答

0

儘量壓低畫布

<DataGrid ItemsSource="{Binding abc}" > 
     <DataGrid.Columns> 
      <DataGridTemplateColumn Width="*" Header="column1"> 
       <DataGridTemplateColumn.CellTemplate> 
        <DataTemplate> 
         <StackPanel Orientation="Horizontal"> 
          <TextBlock Text="{Binding item}"/> 
          <Expander IsExpanded="True"> 
            <DataGrid ItemsSource="{Binding Path=xyz}"> 
             <DataGrid.Columns> 
              <DataGridTextColumn Header="column1"/> 
              <DataGridTextColumn Header="column1"/> 
             </DataGrid.Columns> 
            </DataGrid> 
          </Expander> 
         </StackPanel> 
        </DataTemplate> 
       </DataGridTemplateColumn.CellTemplate> 
      </DataGridTemplateColumn> 
     </DataGrid.Columns> 
    </DataGrid> 

,如果它不工作,可以請您發送填充DataGrid

+0

感謝Pansoul一個DataContext的例子,但我們上面的方法都試過爲好。仍然沒有成功。我們爲此開發了一個示例應用程序。請通過以下鏈接查看:'https://skydrive.live.com/?cid=862cc12c7e381559&id=862CC12C7E381559!118' – Yogesh 2011-12-29 05:44:02