当我最大化我的应用程序时,我想隐藏任务栏。它从全屏模式开始,带有隐藏的任务栏(在MainWindow.xaml中定义,使用以下代码定义):
WindowState="Maximized"
WindowStyle="None"
我希望能够将应用程序恢复为正常的窗口模式,然后使用隐藏的任务栏返回全屏显示。
当我单击标题栏中的最大化按钮时,应用程序进入全屏模式,但任务栏保持可见。我已经尝试将ResizeMode设置为NoResize,但是对我来说不起作用。
这是我的代码:
public MainWindow()
{
InitializeComponent();
StateChanged += MainWindow_StateChanged;
}
private void MainWindow_StateChanged(object sender, EventArgs e)
{
var state = ((MainWindow)sender).WindowState;
if(state == WindowState.Normal)
{
// When escaping
ResizeMode = ResizeMode.CanResize;
WindowStyle = WindowStyle.SingleBorderWindow;
}
else if(state == WindowState.Maximized)
{
// When maximizing
ResizeMode = ResizeMode.NoResize;
WindowStyle = WindowStyle.None;
Topmost = true;
}
}
private void Window_KeyDown(object sender, KeyEventArgs e)
{
if(e.Key == Key.Escape)
{
WindowState = WindowState.Normal;
}
}
答案 0 :(得分:0)
您应该更改代码,如下所示:
参考:this link
MaxHeight = SystemParameters.MaximizedPrimaryScreenHeight;
MaxWidth = SystemParameters.MaximizedPrimaryScreenWidth;
您也可以尝试提到at this thread的win32 API。