system.workareaproperty给出错误的值

时间:2010-07-30 23:55:02

标签: c# wpf

我目前正在使用自定义窗口在c#wpf中编写程序。因为必须有一个自定义最大化状态,我想在不使用任务栏的情况下获得屏幕的高度和宽度。 systemparamters.workarea属性似乎是要走的路,但它给我的价值观是错误的。此外,将其设置为新的Maxheight和Maxwidth设置某种余量,以便在我的应用程序的右侧和底部有一个小间隙,即使我明确声明this.left = 0和this.left = 0。

有没有人有过这方面的经验?

更新:请求的代码(当用户点击最大化按钮时运行(基本上是最大化和正常之间的切换))此外,在我的设计器窗口中没有边距或最大高度/宽度,所有内容都设置为自动。

    private void MaxThis(object sender, System.Windows.RoutedEventArgs e)
    { if (WindowState == WindowState.Maximized){
        WindowState = WindowState.Normal;
        }

    else {
        this.MaxWidth = SystemParameters.WorkArea.Width;
        this.MaxHeight = SystemParameters.WorkArea.Height;       
        this.WindowState = WindowState.Maximized;

    this.Top = 0;
    this.Left = 0;
    }
    }

更新:我在Blend中创建了一个新的空白WPF应用程序,添加了一个按钮并将此代码链接到它。右边和底部的边距相同......

1 个答案:

答案 0 :(得分:2)

您看到的额外边框和间距是调整大小的框架。摆脱它的最简单方法是设置

ResizeMode = ResizeMode.NoResize;