Я хочу создать TextBlock
(или какой-либо другой элемент с текстом в нем только для отображения), который является вертикальным (угол преобразования -90), но я хочу, чтобы этот элемент заполнил вертикальное пространство, в котором он содержится, но у меня есть определенное горизонтальное количество (я использую вертикальные и горизонтальные термины вместо высоты и ширины, так как оно поменяется местами, когда у меня TextBlock
идет вертикально), и выровняло его по левой стороне контейнера.
Мне кажется, я понимаю, как заставить TextBlock
двигаться по вертикали, используя RenderTransform
или LayoutTransform
. Тем не менее, я не могу заставить 'стыковку' работать должным образом, всякий раз, когда я изменяю вертикальный аспект контейнера, TextBlock
увеличивается в горизонтальном аспекте вместо вертикального.
Вот что у меня есть:
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
x:Class="AttendanceTracker.StudentView"
x:Name="UserControl" Height="172.666" Width="417.333">
<StackPanel x:Name="LayoutRoot" Orientation="Horizontal">
<Border BorderBrush="Black" BorderThickness="1" RenderTransformOrigin="0.5,0.5" Background="#52FFFFFF" Width="139.667">
<TextBlock Text="My Title" TextWrapping="Wrap" FontSize="18.667" TextAlignment="Center" Foreground="White" Margin="-58.509,68.068,49.158,70.734" Background="Black" RenderTransformOrigin="0.5,0.5" Width="147.017" d:LayoutOverrides="Height">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="-90"/>
<TranslateTransform/>
</TransformGroup>
</TextBlock.RenderTransform>
</TextBlock>
</Border>
</StackPanel>
Измените высоту UserControl, и вы заметите, что TextBlock
увеличивается в горизонтальном направлении вместо желаемого вертикального.