我想知道是否有可能做到这一点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 上设置。