我需要改变我的WPF应用程序中的windows任务栏。为此我设置了WindowStyle="None"
,这意味着禁用windows任务栏,并使自定义任务栏具有恢复、最小化和关闭应用程序的按钮。现在我的问题是,如果应用程序处于最大化模式,那么我看不到windows上的开始菜单。
我在这里发现了一个类似的问题,但是当我尝试这段代码时,它没有编译。full screen mode, but don't cover the taskbar
如何创建自己的任务栏,并在最大化时看到windows开始菜单?xaml中有属性窗口可以设置它吗?
7条答案
按热度按时间9jyewag01#
您可以尝试:
368yc8dk2#
通过添加以下内容,可以轻松地在XAML中添加高度约束:
添加到Window的标记中。
0s7z1bwu3#
在CodeProject上找到了一个解决方案,可能会有所帮助:http://www.codeproject.com/Articles/107994/Taskbar-with-Window-Maximized-and-WindowState-to-N
和
idfiyjo84#
和
kgqe7b3p5#
建议的解决方案对我有效**,但**仍然需要将像素校正为dpi设置器值,以便窗口具有正确的大小,而不考虑用户设置:
在XAML中:
在代码中:
z9gpfhce6#
I have found a pretty neat solution for the problem in discussion here at the following link, https://codekong.wordpress.com/2010/11/10/custom-window-style-and-accounting-for-the-taskbar/
This works directly out of the box. Just added this here for reference to help anyone in near future.
None of the existing solutions here worked for multiple screens attached in Extended mode.
Pasting the provided solution here to save it from being removed from the blog,
Need to bind SourceInitialized event either from XAML or code behind,
While here's the source code for event callback,
Here's the code for WindowSizing.cs,
~Umar
pengsaosao7#
WPF解决方案
假设我们想把WPF项目的主窗口放在屏幕的右下角,而不覆盖taskBar,我们可以这样写:
this =我们的对象(MainWindow)当我们从PrimarySrceenWidth中减去我们的窗口位置(left)时,我们首先放置left参数。然后,我们做同样的事情,通过从屏幕底部的工作区中减去窗口高度来获得最低点。屏幕的工作区不包括任务栏!
好好享受吧!
阿夫里