首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最大化自定义WPF窗体作为屏幕大小

最大化自定义WPF窗体作为屏幕大小
EN

Stack Overflow用户
提问于 2013-04-20 19:06:14
回答 1查看 1.7K关注 0票数 0

我试图在WPF中创建一个自定义表单。我将windowStyle设置为None

我增加了3个按钮:

  1. Max/Min
  2. 隐藏

我要做的是,当用户单击第二个按钮时,如果窗体处于正常状态,则将窗体最大化为屏幕大小,否则,如果窗体处于最大化状态,则将窗体设置为初始大小。

这就是我尝试过的,但是当我第一次点击第二个按钮时,什么也不会发生。

代码语言:javascript
复制
  private bool maximized = false;
  private void button2_Click(object sender, RoutedEventArgs e)
    {
        if (!maximized)
        {
            this.MaxHeight = SystemParameters.PrimaryScreenHeight;
            this.MaxWidth = SystemParameters.PrimaryScreenWidth;
            this.WindowState = System.Windows.WindowState.Maximized;
            maximized = true;
        }
        else
        {
            this.WindowState = System.Windows.WindowState.Normal;
            maximized = false;
        }
    }

我需要添加无效或者类似的东西吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-20 19:14:27

好吧,我解决了..。当我创建xaml文件..。我添加了一个矩形,所以表单主体将是矩形。我需要改变矩形的宽度和高度。

代码语言:javascript
复制
  private void button2_Click(object sender, RoutedEventArgs e)
    {
        if (!maximized)
        {

            this.FormBody.Width = SystemParameters.WorkArea.Width; //rectangle's width
            this.FormBody.Height = SystemParameters.WorkArea.Height;// rectangle's height
            this.WindowState = System.Windows.WindowState.Maximized;
            maximized = true;
        }
        else
        {
            this.WindowState = System.Windows.WindowState.Normal;
            maximized = false;
        }
    }

我还将SystemParameters.PrimaryScreenWidth更改为SystemParameters.WorkArea.Width,也更改为Height,这样表单就不会超过任务栏

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16124089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档