我有一个SL4用户控件,它使用一个网格作为其布局.网格如下:
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Grid.RowDeFinitions>
<RowDeFinition x:Name="LayoutHeaderRow" Height="30"/>
<RowDeFinition x:Name="LayoutSubHeaderRow" Height="30"/>
<RowDeFinition x:Name="LayoutContentRow" Height="*"/>
<RowDeFinition x:Name="LayoutFooterRow" Height="30"/>
</Grid.RowDeFinitions>
</Grid>
我的问题是如何隐藏LayoutSubHeaderRow及其内容?
谢谢!
马丁
解决方法:
您已经在行定义中添加了x:Name,但这对您没有多大用处,因为RowDeFinition元素不是可视元素,并且不会出现在可视树中.因此,FindName无法找到它们.
您的xaml需要看起来像这样:
<Grid x:Name="Layout" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Grid.RowDeFinitions>
<RowDeFinition Height="30"/>
<RowDeFinition Height="30"/>
<RowDeFinition Height="*"/>
<RowDeFinition Height="30"/>
</Grid.RowDeFinitions>
</Grid>
您可以使用所需行的顺序位置将其从RowDeFinitions集合中挑选出来,并在代码中进行操作
Layout.RowDeFinitions[1].Height = new GridLength(0);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。