C# 不带边框的WPF窗口在屏幕外以最大化方式展开
我正在设计一个wpf窗口的样式,我删除了窗口边框,并在菜单控件中添加了最小化、最大化和关闭按钮。这看起来像这样: 现在我有两个问题:当我最大化时,窗口有点超出屏幕,如下所示: 这是我对这3个按钮的代码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
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”
格式化第一个网格
是否可以。如果你将它设置为窗口状态的触发器,它就会工作。我将你提到的边距添加到第一个网格中。最大化窗口现在看起来很棒,但正常状态如下:。你提到了把它添加到触发器中。如何从窗口触发器寻址网格?