C# 滑块的一半在旋转时被切下
我正在为我正在开发的新软件设置基本布局,我在2x2中设置了网格。主区域(0,0)是画布,底部主区域(0,1)是滑块的空间,我们称之为Slider1,最后右侧主区域(1,0)是滑块2的空间。问题是我希望Slider2沿Y轴旋转,为X和Y提供滑块,在旋转滑块时,顶部和底部完全被切断,有时VS强制它更改列 我的页面XAML如下所示:C# 滑块的一半在旋转时被切下,c#,wpf,xaml,C#,Wpf,Xaml,我正在为我正在开发的新软件设置基本布局,我在2x2中设置了网格。主区域(0,0)是画布,底部主区域(0,1)是滑块的空间,我们称之为Slider1,最后右侧主区域(1,0)是滑块2的空间。问题是我希望Slider2沿Y轴旋转,为X和Y提供滑块,在旋转滑块时,顶部和底部完全被切断,有时VS强制它更改列 我的页面XAML如下所示: <Grid> <Grid.ColumnDefinitions> <ColumnDefinition/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="100"/>
</Grid.RowDefinitions>
<Slider HorizontalAlignment="Center" Grid.Row="1" VerticalAlignment="Center" Width="600"/>
<Slider Name="Slider2" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5" Width="300">
<Slider.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="-90"/>
<TranslateTransform/>
</TransformGroup>
</Slider.RenderTransform>
</Slider>
</Grid>
这在WPF上显示为:
如您所见,右侧的滑块2未完全显示,目标只是使其完全显示,并能够将其保持在所处的列中,并将其居中于其网格位置
我已经玩了一段时间,看不出它能不能工作,所以我希望你们中的一个聪明人能指出我犯的简单错误
为任何帮助干杯 将滑块的
方向属性设置为垂直,而不是应用渲染变换:
<Slider x:Name="Slider2" Orientation="Vertical" ... />
@Clemens不,我对WPF相当陌生,我让VS选择用什么来转换它。你有什么建议?这似乎比使用RenderTransform更好,但是这表明转换不是问题所在,因为设置垂直方向会使整个滑块消失。“使整个滑块消失”,这意味着什么?根本看不到任何一个,它不仅仅是被切断的,而是我对它进行了排序,我仍然有一个高宽度设置,从我改造它的时候开始。现在已经整理好了,非常感谢。你知道是什么导致了我原来的问题,所以我可以在将来避免它吗?想象一下,如果没有旋转,布局会是什么样子,然后只旋转滑块而不更改布局。您应该设置LayoutTransform属性而不是RenderTransform。