如何在Xamarin WPF上删除标题栏并使应用程序全屏显示

时间:2018-08-03 10:43:46

标签: c# wpf xamarin desktop-application

如何在xamarin wpf上删除标题栏并使应用程序全屏显示?

xamarin wpf全屏的行为与原始wpf应用程序不同。 当我通过

启用全屏模式时

ResizeMode="NoResize", WindowState="Normal", WindowStyle="None", Topmost="True", WindowState = "Maximized";

该应用程序实际上并未删除标题栏并隐藏任务栏。

有什么方法可以实现与本机WPF应用程序相同的行为?

sample below

1 个答案:

答案 0 :(得分:0)

这就是我删除Xamarin.Forms(在v3.2中测试)创建的所有条的方式:

  1. 在WPF本机项目中,转到MainWindow.xaml.cs
  2. 添加删除方法:

      private bool topBarsRemoved = false;
    
      private void RemoveTopBars()
      {
          System.Windows.Controls.Grid commandBar = this.Template.FindName("PART_CommandsBar", this) as System.Windows.Controls.Grid;
    
          if (commandBar != null)
              (commandBar.Parent as System.Windows.Controls.Grid)?.Children.Remove(commandBar);
    
          var topAppBar = this.Template.FindName("PART_TopAppBar", this) as WpfLightToolkit.Controls.LightAppBar;
          if (topAppBar != null)
            (topAppBar.Parent as System.Windows.Controls.Grid)?.Children.Remove(topAppBar);
    
          topBarsRemoved = true;
      }
    
  3. 调用方法:

protected override void OnActivated(EventArgs e)
{
  base.OnActivated(e);    
  if (!topBarsRemoved) RemoveTopBars();
}