1

RowDetails セクションを持つ DataGrid があります。行の詳細には、スタックパネルがあります。コードを使用して、このスタックパネルにチャイルドを動的に追加したいのですが、コードからパネルにアクセスできません。

       <DataGrid.RowDetailsTemplate>
        <DataTemplate>
                <Border x:Name="Border_RowDetails" Margin="5" Padding="3" BorderBrush="Blue" BorderThickness="3" CornerRadius="5">
                    <StackPanel x:Name="StackPanel_Detail" Orientation="Vertical">
                        <TextBlock Foreground="White" FontSize="30" Text="Auftragsdetails:  " Margin="100, 0,0,0"/>
                    </StackPanel>  
                </Border>
            </DataTemplate>
        </DataGrid.RowDetailsTemplate>
    </DataGrid>

コード ビハインド ファイルの Stackpanel "StackPanel_Detail" に Childs (Textblocks) を追加したいと考えています。

バックグラウンド:

DataGrid には、アイテムソースとしてデータテーブルがあります。行をクリックすると、行の詳細が表示され、別のデータテーブルからさらに情報が表示されるはずです! 詳細行の数は常に同じではありません。私はwpfとxamlが初めてなので、xamlとバインディングでこれを行う方法がよくわかりません。私が見つけたのは、datagrid.itemssource の行の詳細に他の列を表示することだけでした。したがって、コードビハインドの数を計算し、すべてのレコードのテキストブロックを作成したいと考えていました。

例:

データグリッドRow1 : Customer1 OrderID1 詳細: Row1: OrderID1 COILID1

データグリッド Row2: Customer2 OrderID2 詳細: Row1: OrderID2 COILID1 Row2: OrderID2 COILID2

私は本当にすべての助けに感謝します. 下手な英語でごめんなさい!

よろしく、フロリアン

4

2 に答える 2

0

私は別のボードで解決策を得ました。私は ContentPresenter と "Content_Loaded"-Event を使用し、それを使用して StackPanel と TextBlocks をコードにコーディングしました...実際には最もクリーンなソリューションではないと思いますが、機能します!

于 2013-11-13T09:07:01.137 に答える