我正在尝试使用Silverlight扩展器控件,扩展器的内容在展开时不能均匀地调整到其余内容的大小。有什么想法吗?这是它看起来的样子
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<toolkit:Expander ExpandDirection="Right" Grid.Column="0" IsExpanded="True">
<toolkit:Expander.Header>
<TextBlock Text="Title" Foreground="Black" />
</toolkit:Expander.Header>
<toolkit:Expander.Content>
<Controls:Grid x:Name="LayoutRoot" ShowGridLines="True">
<ContentControl Navigation:ContentArea.AreaName="shellView" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" />
<ContentControl x:Name="loaderView" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" />
</Controls:Grid>
</toolkit:Expander.Content>
</toolkit:Expander>
<ContentControl Grid.Column="1" x:Name="testPage" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" />
</Grid>结果是扩展器显示了大约30%的可用区域,但我希望它显示50%
发布于 2012-09-07 05:24:57
你可以让Expander坐在2列网格的1号列上。列的宽度设置为Auto,而其他列的宽度设置为*,这意味着它将只占用所需的空间(并且为其子对象提供拉伸对齐方式不会覆盖此设置,因为没有固定的空间可供展开)。
只需删除Auto就可以解决您的问题,并使Expander内容占根网格可用空间的50%:
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>这等同于为每一列赋予相等的宽度:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>https://stackoverflow.com/questions/5944289
复制相似问题