Silverlight Expander Control无法均匀扩展

时间:2011-05-10 01:36:42

标签: silverlight-toolkit

我正在尝试使用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%

1 个答案:

答案 0 :(得分:0)

你有扩展器坐在2列网格的第1列。列的宽度设置为 Auto ,其他列宽度为*的事实意味着它只占用所需的空间(并为其子项提供 Stretch alignment不会覆盖它,因为没有固定的空间可以扩展为。)

只需删除 Auto 即可解决您的问题,并使Expander内容填充根网格可用空间的50%:

<Grid.ColumnDefinitions>
    <ColumnDefinition />
    <ColumnDefinition />
</Grid.ColumnDefinitions>

这相当于给每列宽度相等:

<Grid.ColumnDefinitions>
    <ColumnDefinition Width="*" />
    <ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>