【问题标题】:Centering screen causes parts of the window go out off screen?屏幕居中导致部分窗口脱离屏幕?
【发布时间】:2017-06-12 01:42:12
【问题描述】:

我在XAML 中使用它来使屏幕居中,

WindowStartupLocation="CenterScreen"

使窗口在用户屏幕上居中,但当屏幕分辨率非常小时,Title Bar 超出屏幕范围。显然,当这种情况发生时,用户无法关闭程序,并且在特别小的屏幕上,一些Tab Controls 是不可见的。

如何使屏幕居中并始终显示Title Bar

【问题讨论】:

  • 您的意思是在将窗口移动到屏幕中心之前,您需要调整窗口大小以适应屏幕分辨率?
  • @grek40,我想保持窗口大小,但要确保标题始终可见。除非我应该调整窗口大小以适应屏幕???
  • 我知道这并不能解决您的问题,但是即使标题栏不在屏幕上,Alt-F4 也会关闭具有焦点的窗口。
  • @Kevin,很遗憾你不能告诉每个用户该做什么。
  • 对于您所要求的,您将无法使用 CenterScreen。您必须确定屏幕尺寸并计算屏幕上的顶部/左侧点,以提供所需的可见性,然后将屏幕位置移动到该点。

标签: c# wpf


【解决方案1】:

如何使屏幕居中并始终显示标题栏?

您必须以编程方式调整窗口的大小。例如,您可以分别根据 SystemParameters.PrimaryScreenWidthSystemParameters.PrimaryScreenWidth 值设置 MaxWidthMaxHeight 属性:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        MaxHeight = SystemParameters.PrimaryScreenHeight - SystemParameters.CaptionHeight;
        MaxWidth = SystemParameters.PrimaryScreenWidth;
    }
}

您也可以参考以下问题:

How do you center your main window in WPF?

【讨论】:

    猜你喜欢
    • 2010-12-23
    • 1970-01-01
    • 2013-09-23
    • 2011-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-21
    相关资源
    最近更新 更多