2011-05-10 49 views
0

我试图使用Silverlight扩展器控件,并且扩展器的内容在展开时不会均匀地调整到内容的其余部分。有任何想法吗?这是什么样子Silverlight Expander Control不会均匀扩展

<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

你能告诉我你膨胀机的风格吗?谢谢 – 2011-05-10 01:39:49

+0

我只是使用默认值。如果我将样式设置为Style =“{x:Null}”,我仍然只能得到大约20-30,对于扩展器,我认为它是一个预设大小。 – 2011-05-10 03:20:39

回答

0

你已经得到了扩展坐在它的列#1一个2列的网格。列的宽度设置为自动,而其他列的宽度是*,这意味着它只会占用它需要的空间(并且给它的子对象拉伸对齐不会覆盖这个,因为没有固定空间扩展成)。

只需去除自动应该解决您的问题,并进行扩展的内容填充空间的50%可用于根格:

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

这就是给每列宽度相等的等价物:

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