1

これをで達成できるのだろうかDataGrid.RowDetailsTemplate

例

ユーザーがで行を選択すると、その行のDataGrid詳細が行の下に表示されるようにしたいと思います。これまでのところ、私はその方法を知っています。問題は、?の時間列をRowDetailsTemplate対応する列と同期させたいことです。DataGrid

4

1 に答える 1

1
<DataGrid.RowDetailsTemplate>
    <ItemContainerTemplate>                      
        <DockPanel >
           <Rectangle Name="LeftRect" DockPanel.Dock="Left" Width="{Binding ElementName=DG1, Path=Columns[0].ActualWidth}" Height="40" Fill="Red"></Rectangle>
           <Rectangle Name="RightRect" Height="40" Fill="Yellow"></Rectangle>
        </DockPanel>
    </ItemContainerTemplate>                
</DataGrid.RowDetailsTemplate>

Rectangleここでは、グリッド/パネルを簡単にするために、アイテムコンテナとして2のDockPanelを使用しました。Width秘訣は、LeftRectのをWidthDataGrid最初の列のにバインドしてマークを付けることDock=Leftです。これがDockPanel残りのスペースなので、RightRectで埋められます。

あなたはそれを使うRelativeSourceElemenatNameすることができます。ここではElementName、を使用しました。ここで、DG1は私のDataGridコントロールの名前です。

またRowDetailsVisibilityMode="VisibleWhenSelected"、DataGridに設定していることを確認してください。

于 2012-10-23T23:23:30.470 に答える