Как скрыть панель задач и развернуть окно с помощью WPF через Xamarin Forms - PullRequest
0 голосов
/ 25 февраля 2020

Я уже пробовал разные варианты, включая информацию в этом вопросе. Сделать мое wpf-приложение полноэкранным (панель задач и заголовок окна) , но мне ничего не помогло. Только IgnoreTaskbarOnMaximize свойство работает правильно, но он используется из MahApps, который не совместим с формами Xamarin. Может быть, вы знаете, как реализовать IgnoreTaskbarOnMaximize вручную?

Ответы [ 2 ]

1 голос
/ 26 февраля 2020

Насколько я могу судить по этому руководству по использованию Xamarin.Forms с WPF , приложение Xamarin.Forms создается из окна

public partial class MainWindow : FormsApplicationPage
{
    public MainWindow()
    {
        InitializeComponent();
        Forms.Init();
        LoadApplication(new My.App());
    }
}

с или без соответствующего Файл XAML (не должен иметь большого значения, если InitializeComponent не вызывается без файла XAML). Если есть файл XAML для вашего окна, я бы предположил, что это решение сработает

<wpf:FormsApplicationPage ResizeMode="NoResize" WindowState="Maximized"  ...>
<!-- Not sure whether the grid is needed in here -->
</wpf:FormsApplicationPage>

в противном случае вам придется установить свойства из вашего окна класс

public class MainWindow : FormsApplicationPage
{
    public MainWindow()
    {
        // whatever there is to be done before

        this.ResizeMode = ResizeMode.NoResize;
        this.WindowState = WindowState.Maximized;

        Forms.Init();
        LoadApplication(new My.App());
    }
}
0 голосов
/ 26 февраля 2020

Решение довольно простое. Если вы хотите, чтобы ваше приложение работало в полноэкранном режиме (с покрытием панели задач), не устанавливайте WindowState на Maximized, просто измените ширину и высоту, как показано после InitializeComponent();

public MainWindow()
{
  InitializeComponent();

  Top = 0;
  Left = 0;
  Height = SystemParameters.PrimaryScreenHeight;
  Width = SystemParameters.PrimaryScreenWidth;

  Forms.Init();
  LoadApplication(new SharedForms.App());
}
...