如何解决WPF控件拉伸问题
我在DataGrid
的{{1}}中有一个Grid
:
TabItem
问题是<TabItem Header="SomeHeader">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition SharedSizeGroup="TabHeight" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="TabWidth"/>
</Grid.ColumnDefinitions>
<DataGrid Margin="10" Grid.Column="0" Grid.Row="0"
HorizontalAlignment="Stretch"
VerticalContentAlignment="Stretch"
IsReadOnly="True"
AutoGenerateColumns="False">
</DataGrid>
</Grid>
</TabItem>
拒绝调整包含DataGrid
的大小。是什么阻止了它这样做?
解决方法
您的Grid
与共享大小组TabWidth
和TabHeight
共享其行和列大小。因此,包含DataGrid
的行和列的大小是在共享相同组并位于相同网格大小范围内的所有Grid
中确定的,如下所示:
- 绝对值优先于
Auto
,因此,即使所有其他值都定义为Auto
,组中最大的显式列大小也将获胜。
- 如果所有行/列都为
Auto
大小,则获胜最大 - 星号(
*
)被视为Auto
(列的默认宽度为1*
,因此该规则也适用)
为明确起见,DataGrid
的大小适合其在Grid
中分配的行和列,而不是Grid
本身的大小。如果要将其大小调整到包含选项卡,则Grid
是多余的。将相同的大小应用于行或列并调整其大小以填充其父对象是相反的目标,请选择一个。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。