c# – AllowTransparency使过扫描最大化

我目前正在制作使用
WPF的媒体播放器,并遇到了一个问题.

我希望布局没有常规的窗口边框和阴影.我通过设置WindowStyle = none和AllowTransparency = true来完成此操作.这一切都很有效,只要我不想在全屏使用它.一旦我尝试将WindowState设置为最大化,它就像疯了一样过度扫描(它会切断所有边缘).这显然是由AllowTransparency = true部分引起的.如果我将其设置为false,则最大化部分按预期工作.不幸的是,一旦应用程序启动,我就无法设置AllowTransparency.我可以通过使用边框并调整边距来弥补这一点,但它看起来并不正确,我不确定它是否适用于不同的分辨率.

总结一下:

>使用AllowTransparency = true可以使WindowState最大化工作正常吗?
>或者是否有另一种方法可以使窗口没有正常的窗口边框而不设置AllowTransparency = true
>或者有更好的方法使应用程序全屏显示?

有没有人有解决方案或想法来实现这一目标?

最佳答案 你在MSDN论坛上发布了答案,但不是在这里,所以这里是;

解决方案是在进入全屏时设置ResizeMode = NoResize.似乎AllowTransparency = True仍然具有来自窗口的常规边框,但只是隐藏它,所以当你最大化它时会尝试补偿该边框.但是如果你改变ResizeMode,边界就会消失.

https://social.msdn.microsoft.com/Forums/vstudio/en-US/0b938537-c048-4122-8a2f-29d04d21f2df/allowtransparency-in-fullscreen?forum=wpf

点赞