C# 不带边框的WPF窗口在屏幕外以最大化方式展开

C# 不带边框的WPF窗口在屏幕外以最大化方式展开,c#,wpf,visual-studio,C#,Wpf,Visual Studio,我正在设计一个wpf窗口的样式,我删除了窗口边框,并在菜单控件中添加了最小化、最大化和关闭按钮。这看起来像这样: 现在我有两个问题:当我最大化时,窗口有点超出屏幕,如下所示: 这是我对这3个按钮的代码 private void Button_Click(object sender, RoutedEventArgs e) //close button { if (MessageBox.Show("Želite shranit spremembe

我正在设计一个wpf窗口的样式,我删除了窗口边框,并在菜单控件中添加了最小化、最大化和关闭按钮。这看起来像这样:

现在我有两个问题:当我最大化时,窗口有点超出屏幕,如下所示:

这是我对这3个按钮的代码

  private void Button_Click(object sender, RoutedEventArgs e)             //close button
    {
        if (MessageBox.Show("Želite shranit spremembe?", "Opozorilo", MessageBoxButton.YesNoCancel, MessageBoxImage.Exclamation) == MessageBoxResult.No)
        {
            this.Close();
        }
        else
        {
            if (saveChanges)
            {
                quickSave();
            }

        }
    }


    private void Button_Click_1(object sender, RoutedEventArgs e)               //maximize button
    {
        if(this.WindowState == WindowState.Maximized)
        {
            this.WindowState = WindowState.Normal;
        }
        else
        {
            this.WindowState = WindowState.Maximized;

        }
    }

    private void Button_Click_2(object sender, RoutedEventArgs e)           //minimize button
    {
        this.WindowState = WindowState.Minimized;
    }
我怎样才能解决这个问题?我在考虑制作一种方法,将窗口设置为屏幕的大小n最大化,但这对于win7拖动到边框最大化不起作用

我的另一个问题是如何使菜单栏成为clic拖动窗口控件。 现在,我将此代码应用于窗口鼠标向下,但相同的代码不适用于菜单控件

 private void Window_MouseDown(object sender, MouseButtonEventArgs e)
 {
     if (e.ChangedButton == MouseButton.Left)
         this.DragMove();
 }
XAML WPF片段:

编辑:尝试触发:

 <Window.Style>
    <Style TargetType="Window">
        <Style.Triggers>
            <Trigger Property="WindowState" Value="Maximized">
                <Setter Property="Width" Value="{Binding Source={x:Static SystemParameters.FullPrimaryScreenWidth}}" />
                <Setter Property="Height" Value="{Binding Source={x:Static SystemParameters.FullPrimaryScreenHeight}}"/>
            </Trigger>
        </Style.Triggers>
    </Style>
</Window.Style>


你可以分享窗口的xaml代码吗?我可以根据窗口状态考虑触发器-如果最大化,则设置按钮/整体的边距window@someone1,我刚刚检查了使用
Margin=“4 6”
格式化第一个
网格
是否可以。如果你将它设置为窗口状态的触发器,它就会工作。我将你提到的边距添加到第一个网格中。最大化窗口现在看起来很棒,但正常状态如下:。你提到了把它添加到触发器中。如何从窗口触发器寻址网格?能否共享窗口的xaml代码?我可以根据窗口状态考虑触发器-如果最大化,则设置按钮/整体的边距window@someone1,我刚刚检查了使用
Margin=“4 6”
格式化第一个
网格
是否可以。如果你将它设置为窗口状态的触发器,它就会工作。我将你提到的边距添加到第一个网格中。最大化窗口现在看起来很棒,但正常状态如下:。你提到了把它添加到触发器中。如何从窗口触发器寻址网格?