如何解决自动调整另一个网格中包含的网格的行的大小
| 我在另一个网格的第一列中有一个网格,并希望内部网格的行与父网格的行具有相同的高度。这个想法是内部网格可以包含我希望能够隐藏的描述(但要与父网格的行保持一致,因为这些描述与父网格中的某些问题相关联)。 WPF ColumnDeFinition没有Visibility属性:( 我到目前为止的代码: <Grid ShowGridLines=\"true\" Name=\"gridje\">
<Grid.RowDeFinitions>
<RowDeFinition Height=\"Auto\" Name=\"row0\"/>
<RowDeFinition Height=\"Auto\" Name=\"row1\"/>
<RowDeFinition Height=\"Auto\" Name=\"row2\"/>
</Grid.RowDeFinitions>
<Grid.ColumnDeFinitions>
<ColumnDeFinition />
<ColumnDeFinition />
</Grid.ColumnDeFinitions>
<Grid Grid.Row=\"0\" Grid.RowSpan=\"3\" ShowGridLines=\"true\">
<Grid.RowDeFinitions>
<RowDeFinition Height=\"{Binding ElementName=row0,Path=ActualHeight,Mode=OneWay}\"/>
<RowDeFinition Height=\"{Binding ElementName=row1,Mode=OneWay}\"/>
<RowDeFinition Height=\"{Binding ElementName=row2,Mode=OneWay}\"/>
</Grid.RowDeFinitions>
<TextBlock Grid.Row=\"0\">Joepie</TextBlock>
<TextBlock Grid.Row=\"2\">Joepie</TextBlock>
</Grid>
<TextBlock Grid.Row=\"0\" Grid.Column=\"1\" textwrapping=\"WrapWithOverflow\">Klaasje daskljf askldfas dfasjkl dfhklasjdfh askljdfh askljdfh h askljdfh klasdfh alsjkdfh askldfh askljfh alsdjkfh asklfh </TextBlock>
<TextBlock Grid.Row=\"1\" Grid.Column=\"1\" textwrapping=\"WrapWithOverflow\">Klaasje daskljf askldfas dfasjkl dfhklasjdfh askljdfh askljdfh h askljdfh klasdfh alsjkdfh askldfh askljfh alsdjkfh asklfh</TextBlock>
<TextBlock Name=\"textb\" Grid.Row=\"2\" Grid.Column=\"1\" textwrapping=\"WrapWithOverflow\" Text=\"{Binding ElementName=row0,Mode=OneWay}\"></TextBlock>
<Button Content=\"Button\" Grid.Column=\"1\" Grid.Row=\"2\" Height=\"23\" HorizontalAlignment=\"Left\" Margin=\"66,173,0\" Name=\"button1\" VerticalAlignment=\"Top\" Width=\"75\" Click=\"button1_Click\" />
</Grid>
奇怪的是,在VS2010中的设计模式下,一切正常,但是一旦运行,所有实际的高度属性都将保持为零。
任何帮助,将不胜感激。也许使用其他WPF控件来完成此操作也没有问题。
解决方法
也许Grid.IsSharedSizeScope -property将为您提供帮助。这样,您就可以同步网格元素的宽度和高度。
msdn-article中包含一个有关如何使用它的示例。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。