C# 创建以不同分辨率部署的可移植WPF UI

C# 创建以不同分辨率部署的可移植WPF UI,c#,wpf,xaml,C#,Wpf,Xaml,我尝试过viewbox,它将视图拉伸到窗口的边界,从而扭曲视图。 当应用程序在不同的监视器上运行时,有哪些方法可以动态调整所有控件、文本字体的视图大小?允许您检索主屏幕大小(以及许多其他值)。使用简单的绑定,如 <Window ... Height="{x:Static SystemParameters.PrimaryScreenHeight}" Width="{x:Static SystemParameters.PrimaryScreenWidth}" />

我尝试过viewbox,它将视图拉伸到窗口的边界,从而扭曲视图。 当应用程序在不同的监视器上运行时,有哪些方法可以动态调整所有控件、文本字体的视图大小?

允许您检索主屏幕大小(以及许多其他值)。使用简单的绑定,如

<Window ...
    Height="{x:Static SystemParameters.PrimaryScreenHeight}" 
    Width="{x:Static SystemParameters.PrimaryScreenWidth}" />


您将能够更改视图的大小(
窗口
用户控件
不起作用)。但是,如果您需要自适应布局(例如,您的
网格必须填充整个
窗口
),则有必要设置
停靠
属性、
对齐
值等等。

在这种情况下,我将继续使用水平对齐、垂直对齐和MinSize。WPF的主要原则之一是无尺寸设计。如果定义正确,那么当前分辨率是什么并不重要。在设计网格列和行时,还可以定义比率


正如@Francesco De Lisi所说的那样,对接。

小心你的窗口的缩放因子(100%/125%/150%/200%)。您可以使用以下属性获得真实屏幕大小(可见像素):

SystemParameters.FullPrimaryScreenHeight
SystemParameters.FullPrimaryScreenWidth

实际上应该是一个x:Static绑定:
Height=“{x:Static SystemParameters.PrimaryScreenHeight}”
你误解了我的问题。我不需要一个窗口来适应屏幕大小,但整个UI会以不同的屏幕分辨率动态/成比例地重新调整大小。调整窗口以适应整个UI的屏幕大小将适当调整大小(如果您的布局设计正确)。您不需要考虑javascipt流体布局方式,而是使用StackPanels、Dock和stretching选项。您可以使用样式、数据触发器和其他方法来实现动态/比例UI重新设计。拉伸会迫使所有控件填充父布局,这是不好的UI,因为每个控件的大小都最大化了。但设置固定边距不允许用户界面在不同分辨率下按比例调整大小。我认为这可能有助于您访问此页面