WPF Metro Window full screen

后端 未结 2 1533
渐次进展
渐次进展 2020-12-30 09:47

I\'m currently working on a WPF application and I don\'t find how to make my application in full screen. I am using MahApps.Metro so my mainwindow\'s type is Controls.MetroW

相关标签:
2条回答
  • 2020-12-30 10:39

    with the latest alpha version you have two different ways to get this:

    first

    <Controls:MetroWindow x:Class="MyProject.MainWindow"
                          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                          xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
                          xmlns:Views="clr-namespace:MyProject.Views"
                          ResizeMode="NoResize"
                          WindowState="Maximized"
                          IgnoreTaskbarOnMaximize="True"
                          Title="MyProject">
    

    second

    <Controls:MetroWindow x:Class="MyProject.MainWindow"
                          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                          xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
                          xmlns:Views="clr-namespace:MyProject.Views"
                          UseNoneWindowStyle="True"
                          WindowState="Maximized"
                          Title="MyProject">
    

    with the second solution you have also no titlebar, no min, max, close buttons

    0 讨论(0)
  • 2020-12-30 10:46

    I can reproduce your issue. You should report it as a bug Here

    Simple workaround for now could be:

    Keep your xaml the same as you got to:

    <Controls:MetroWindow x:Class="MyProject.MainWindow"
                          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                          xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
                          xmlns:Views="clr-namespace:MyProject.Views"
                          WindowStyle="None"
                          IgnoreTaskbarOnMaximize="True"
                          Title="MyProject">
    

    and in the Window's code-behind:

    public MainWindow() {
      InitializeComponent();
      Loaded += OnLoaded;
    }
    
    private void OnLoaded(object sender, RoutedEventArgs routedEventArgs) {
      WindowState = WindowState.Maximized;
      ResizeMode = ResizeMode.NoResize;
      ShowMaxRestoreButton = false;
      ShowMinButton = false;
      Loaded -= OnLoaded;
    }
    

    This will give you the behavior you want. We pretty much set the state(maximized), hide min/max buttons with the Loaded event and only do it once.

    0 讨论(0)
提交回复
热议问题