c# - 网格中的旋转元素 - 破坏分布
问题描述
我将网格划分为:
- 2列
- 2 行
(0,0) -> 元素
(0,1) -> 垂直尺寸
(1,0) -> 水平尺寸
水平尺寸工作正常
怎么做才能在垂直维度上获得相同的效果?旋转元件破坏了整个系统。我尝试了不同的设置,但找不到正确的解决方案。
同样重要的是,在缩放 FontSize 时保持不变。
一切都在 ViewBox 中,长度是动态插入的。
<Viewbox Name="MainVB">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="20"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Grid.Column="0" Grid.Row="0" >
<StackPanel Orientation="Vertical">
<Rectangle Width="{Binding SRW}" Height="20" Margin="0,0,0,0" HorizontalAlignment="Center" StrokeThickness="0" Stroke="Black" Fill="#FFBADCD0"/>
<Rectangle Width="{Binding A}" Height="{Binding HF}" Margin="0,0,0,0" HorizontalAlignment="Center" StrokeThickness="0.5" Stroke="Black" Fill="#FF7E7738"/>
<Rectangle Width="{Binding A}" Height="{Binding BWR}" Margin="0,-0.5,0,0" HorizontalAlignment="Center" StrokeThickness="0.5" Stroke="Black" Fill="Goldenrod"/>
</StackPanel>
</Grid>
<Grid Grid.Column="0" Grid.Row="1" >
<StackPanel Margin="0,0,0,0" Orientation="Vertical">
<TextBlock FontSize="{Binding ElementName=MainVB, Path=ActualWidth, Converter={StaticResource conv}}" Margin="-20,0,0,0" HorizontalAlignment="Center" VerticalAlignment="Top"><Run Text="{Binding A}"/> cm</TextBlock>
<Path Width="{Binding A}" Height="10" Margin="20,-5,0,0" StrokeThickness="0.4" Stroke="Black" HorizontalAlignment="Left" VerticalAlignment="Center" Data="M0,5 L100,5 M0,0 L0,10 M100,0 L100,10" Stretch="Fill"/>
</StackPanel>
</Grid>
<Grid Grid.Column="1" Grid.Row="0" Margin="0,0,0,0" RenderTransformOrigin="0.5,0.5" >
<StackPanel Margin="0,0,0,0" Orientation="Vertical" Background="#FFBF8F8F" RenderTransformOrigin="0.5,0.5">
<StackPanel.RenderTransform>
<TransformGroup>
<RotateTransform Angle="270"/>
</TransformGroup>
</StackPanel.RenderTransform>
<TextBlock FontSize="{Binding ElementName=MainVB, Path=ActualWidth, Converter={StaticResource conv}}" Margin="0,0,0,0" HorizontalAlignment="Center" VerticalAlignment="Top"><Run Text="{Binding A}"/> cm</TextBlock>
<Path Width="{Binding L}" Height="10" Margin="0,0,0,0" StrokeThickness="0.4" Stroke="Black" Data="M0,5 L100,5 M0,0 L0,10 M100,0 L100,10" Stretch="Fill"/>
</StackPanel>
</Grid>
</Grid>
</Viewbox>
解决方案
推荐阅读
- notepad++ - 搜索引号内的任意三个字符“...”并替换为引号内相同的三个字符加上一个空格
- jquery - 捕获输入文本框的占位符值
- r - 如何使用 R 向另一个程序发送命令?
- swift - UIBezierPath 的快速替代方案
- gremlin - 在java中将属性添加到已经存在的顶点
- python - 在 Python 中将 Json Dict 对象转换为 DataFrame
- asp.net - 从另一个控制器 (Web api) 将新记录发布到 AspNetUsers
- r - 对多个列表元素应用一组指令
- angular - 可视化或以图形表示我的应用程序中的路线?
- powershell - 仅 PowerShell Get-Childitem 顶级文件夹