0

XAMLには、要素のリストを含めることができる次のものがありますstackpanel。その一部はデータグリッドになります(一部はそうではありません)

    <ScrollViewer Name="MainScrollViewer" Grid.Row="0">
        <StackPanel Name="MainStackPanel">
            // label
            // datagrid
            // label
            // button
            // datagrid
            // .....
        </StackPanel>
    </ScrollViewer>

そして、それらの名前とdatagrids数は動的です(事前にはわかりません)。

私のXAML.CSでは、次のことを行う必要があります-datagrid私のそれぞれについてstackpanel -印刷します

stackpanel今、私は印刷する方法を知っています(それは問題ではありません)が、データグリッドのみのすべての要素にアクセスする方法を見つけるのに非常に苦労していますFOREACH...

手がかりはありますか?

4

3 に答える 3

0

以下の例を参照してください。StackPanel'sChildren プロパティには が含まれてUIElementCollectionいるため、必要なコントロールのタイプを探して、それを反復処理できます。

private StackPanel _stackPanelContainer = MainStackPanel; // Get a reference to the StackPanel w/ all the UI controls

// Since StackPanel contains a "List" of children, you can iterate through each UI Control inside it
//
foreach (var child in _stackPanelContainer.Children)
{
   // Check to see if the current UI Control being iterated over is a DataGrid
   //
   if (child is DataGrid)
   {
       // perform DataGrid printing here, using the child variable
   }
}
于 2013-04-26T07:54:39.510 に答える