找到工作区测量并在代码中设置一些属性以便它可以绑定到xaml中的Control的边距或高度/宽度属性是一个好习惯吗?
我这样做是为了让我的窗口根据可用的工作区调整大小.
const int w = SystemParameters.WorkArea.Width;
const int h = SystemParameters.WorkArea.Height;
public Thickness OuterGridMargin { get; }
MainViewModel()
{
OuterGridMargin = new Thickness(w/5,h/6,w/5,h/4);
}
Run Code Online (Sandbox Code Playgroud)
XAML:
<Grid Margin="{Binding OuterGridMargin}" />
Run Code Online (Sandbox Code Playgroud)
我为一些外部容器执行此操作,以便布局不会以较低的分辨率混淆.目前我在20英寸的1600x900 res(96 dpi)下工作.我的应用程序是小工具,没有常规窗口.
我想知道是否有一些替代方法.
搜索[wpf]分辨率] 1提出了很多解决类似问题的问题,但我仍然陷入困境,无法得出如何实现良好的分辨率无关布局的结论.