我有一个(右向)扩展器,它应该在展开时隐藏标题,并在折叠时显示一些旋转为垂直向下的文本。我已经设法使用以下代码实现了这一点:
<Expander Grid.Column="1" ExpandDirection="Left"
IsExpanded="True" Name="rightHandExpander"
MaxWidth="{Binding RelativeSource={RelativeSource PreviousData}}">
<Expander.Header>
<TextBlock Text="Header text" RenderTransformOrigin="0,0"
Visibility="{Binding IsExpanded, RelativeSource={RelativeSource
AncestorType={x:Type Expander}, Mode=FindAncestor},
Converter={StaticResource boolToVisibilityConverter}}">
<TextBlock.LayoutTransform>
<TransformGroup>
<RotateTransform CenterX="25" CenterY="25" Angle="90" />
</TransformGroup>
</TextBlock.LayoutTransform>
</TextBlock>
</Expander.Header>
<!-- controls here -->
</Expander>
但是,当展开器折叠时,标题会占用太多空间 - 文本会旋转,但标题的宽度似乎保持不变。
在代码隐藏中使用 VisualTreeHelper 我发现扩展器的标题、边框和停靠面板太大,但内部切换按钮的大小正确。我尝试将标题、边框和停靠面板的宽度设置为正确的大小,但它们没有改变。
任何人都可以帮忙吗?
编辑:扩展器包含在一个网格中,该网格有两列,一个网格拆分器,另一个扩展器位于第一列。另一个扩展器做同样的事情,但折叠到左侧 - 然而,这个扩展器似乎工作正常。