如何在WPF中轻松地将屏幕布局从纵向更改为横向,反之亦然



假设我们已经设计了一些WPF应用程序的布局,以便在标准全高清屏幕1920x1080上使用。然后我们需要旋转屏幕并将其安装在一个盒子中,该盒子安装在kiosk PC上,但方向为纵向。

我需要找到一种方法来轻松地旋转屏幕,或者至少以更优雅的方式旋转。

我尝试使用应用于窗口内容的RenderTransform和RotateTransform,但这会旋转图像,当然不会旋转布局。

控件的宽度和高度保持不变。

有没有一种方法可以自动完成,或者我应该接受每个控件并逐个更改其属性?

TextBlocks和TextBoxes存在问题。它们旨在水平使用。您可以旋转它,但布局是根据它的水平宽度计算的。

顺便说一句。不允许旋转整个窗口。它抛出一个异常。

看起来我自己已经找到了解决方案。如果我们选择布局变换而不是RenderTransform,那么视觉系统会在渲染之前自动对布局进行排列和测量。

WPF框架按照的顺序完成工作

布局转换测量安排渲染转换渲染

这是最好的描述在这里LAYOUTTRANSFORM与RENDERSTRANSFORM-有什么区别?

相关内容

最新更新