最大化

时间:2017-02-03 07:41:57

标签: c# wpf visual-studio

我正在构建一个wpf窗口,我删除了窗口边框,并将最小化,最大化和关闭按钮添加到菜单控件中。这看起来像这样: http://prnt.sc/e3vusq

现在我有两个问题:当我最大化时,窗口有点偏离屏幕,看起来像这样:http://prnt.sc/e3vvhz

这是我的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-to-drag-window控件。 现在,我将此代码应用于窗口鼠标按下,但相同的代码不适用于菜单控件

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

XAML WPF代码段 https://codeshare.io/G6pJjg

编辑:尝试触发:

 <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>

0 个答案:

没有答案