方向更改时更改 WPF 布局的最佳方法是什么



我的UI必须随着屏幕的方向而变化。特别是我必须更改 grid.rows/columns-属性和我的控件的排列。从我的控件中放置位置变化的动画会很好,但不必这样做。对我来说更重要的是,我有一个简短而清晰的代码。

我有一些方法,但可能还有一些或更好的方法。

  1. 我为每个方向状态创建一个额外的视图。(这会产生双重代码 - 可能不是很好,还是吗?
  2. 类似于情节提要的东西,我可以在其中使用 XAML 更改控件的位置。(我不知道如何更改 grid.row 和与故事板的对齐方式 - 这真的可能吗?
  3. 通过 C# 代码更改它。(但我认为这不是正确的 WPF 风格?

可能带有示例。

谢谢斯蒂芬

例如,您可以使用 RotateTransform 在方向更改时旋转视图。

另一种方法:由于您尝试使用Grid.RowGrid.Column交换,因此我宁愿建议使用StackPanel,您只需要将Orientation依赖项属性设置为HorizontalVertical

注意:你是对的,我不建议使用 C# 代码来解决这个问题,因为这是View方面的情况,而不是Model方面的情况。(关注点分离。

相关内容

最新更新