我正在尝试使用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%
答案 0 :(得分:0)
你有扩展器坐在2列网格的第1列。列的宽度设置为 Auto ,其他列宽度为*的事实意味着它只占用所需的空间(并为其子项提供 Stretch alignment不会覆盖它,因为没有固定的空间可以扩展为。)
只需删除 Auto 即可解决您的问题,并使Expander内容填充根网格可用空间的50%:
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
这相当于给每列宽度相等:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>