我想知道是否有可能做到这一点DataGrid.RowDetailsTemplate?

我希望当用户在 中选择一行时,该行的DataGrid详细信息会出现在该行下方。到目前为止,我知道该怎么做。问题是我希望中的时间列RowDetailsTemplate与中的相应列同步DataGrid?
我想知道是否有可能做到这一点DataGrid.RowDetailsTemplate?

我希望当用户在 中选择一行时,该行的DataGrid详细信息会出现在该行下方。到目前为止,我知道该怎么做。问题是我希望中的时间列RowDetailsTemplate与中的相应列同步DataGrid?
<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>
在这里,为了简单起见,我使用了带有 2 的 DockPanelRectangle作为项目容器,您可以使用网格/面板。诀窍是Width将 LeftRect 的 绑定到Width的DataGrid第一列并标记它Dock=Left。因为,这是DockPanel其余的空间将由 RightRect 填充。
你可以使用RelativeSource或ElemenatName去做。这里我使用ElementName了 ,其中 DG1 是我的DataGrid控件的名称。
还要确保您已RowDetailsVisibilityMode="VisibleWhenSelected"在 DataGrid 上设置。