5

そこで、エキスパンダーの向きを水平方向ではなく垂直方向に揃えるように変更しましたが、閉じた状態では、エキスパンダーのヘッダーテキストは水平方向に揃えられています。エクスプレッションブレンドなどを使わずにこれを簡単に修正する方法があることを教えてください。

<Expander Header="My Header"> 

AlignHeaderText私は垂直のようなものを望んでいましたが、それに対する選択肢がありませんか?誰かが私に「見せて」くれる別の方法を持っていますか?

それで、私がこれを思いついたという条件で、メンタリングHBから取った:

    <StackPanel Orientation="Horizontal" Margin="0,0,342,0" Width="318">
            <StackPanel.Triggers>
                <EventTrigger RoutedEvent="Expander.Expanded" SourceName="expander1">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation From="0" To="1.2" Duration="0:0:0.45" Storyboard.TargetName="content" Storyboard.TargetProperty="(FrameworkElement.LayoutTransform).(ScaleTransform.ScaleX)"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>
            </StackPanel.Triggers>
            <Expander ExpandDirection="Right" Name="expander1" OpacityMask="#6C806969" Background="#FF807171">
                <Expander.LayoutTransform>
                    <RotateTransform Angle="90"></RotateTransform>
                </Expander.LayoutTransform>
                <Expander.Header>
                    <TextBlock
                   Text="HEADER"
                   Width="{Binding
                    RelativeSource={RelativeSource
                      Mode=FindAncestor,
                      AncestorType={x:Type Expander}},
                    Path=ActualWidth}"
                  />
                </Expander.Header>
                <Grid x:Name="content" Background="#FF807171" Width="178">
                    <Grid.LayoutTransform>
                        <ScaleTransform ScaleX="0" ScaleY="1"/>
                    </Grid.LayoutTransform>
                </Grid>

            </Expander>

残念ながら、これはエキスパンダーに対して行われます。

ここに画像の説明を入力してください

テキストが上部に配置され、ボタンが中央に配置されます。上部にボタンがあり、ボタンの後にテキストがあることを期待していましたか?

ボタンに変更Path=ActualWidthするとHeight上に移動しますが、ヘッダーテキストはボタンの左側にあり、ボタンの下にはありませんか?

4

4 に答える 4

3

TextBlockas Headervia要素構文を割り当て、aを'sRotateTransformとして適用して回転を取得します。別の方法で実行できる縦書きのテキストが必要な場合。TextBlockLayoutTransform

于 2012-04-15T17:10:48.607 に答える
1

上記の提案をサポートする例です。

于 2014-12-02T13:07:40.577 に答える