WPF扩展器 - 水平对齐设置为右,但在展开时跳转到左侧

时间:2014-12-29 10:56:40

标签: c# wpf

我有一个正确对齐的WPF Expander。该位在屏幕上正确显示,但当您展开它时,扩展器和文本"显示/隐藏历史数据"跳到屏幕左侧。关闭扩展器,它返回正确(右)对齐。

我尝试了各种方法,但无法找到原因,或者更重要的是如何保持扩展扩展器正确对齐

  <Grid Grid.Row="1"                    
    HorizontalAlignment="Stretch">
     <Grid.RowDefinitions>
      <RowDefinition Height="auto"/>
      <RowDefinition Height="auto"/>                               
     </Grid.RowDefinitions>
     <Grid.ColumnDefinitions>
       <ColumnDefinition Width="*" />
     </Grid.ColumnDefinitions>

      <StackPanel Grid.Row="0"  >
            <TextBlock Style="{StaticResource SubHeader}" Text="Historic Data Sets" />                                               
           <Rectangle Style="{StaticResource HeaderLine}"/>
      </StackPanel>

       <Expander Header="show/hide historic data"
                 Grid.Column="1"
                 IsEnabled="True" 
                 VerticalAlignment="Center" 
                 HorizontalAlignment="Right" 
                 ExpandDirection="Down">       

   <!-- some other stuff in the second row such as grid... -->
</Expander>

1 个答案:

答案 0 :(得分:0)

你可以通过明确地将其标记为Header来控制TextBlock,然后将其更改为HorizontalAlignment属性:

<Expander.Header>
    <TextBlock 
        Width="200"
        HorizontalAlignment="Right"
        Text="Show information.."></TextBlock>
</Expander.Header>