【发布时间】:2011-04-28 17:13:17
【问题描述】:
我有一个自定义样式的透明窗口,当您使用透明度和“WindowStyle=None”时,我看到很多处理最小/最大/调整大小行为的问题。
当我告诉我的窗口将其窗口状态更改为最大化时,它并没有正确,所以我想覆盖那里的逻辑。它得到了正确的宽度,但高度都搞砸了,它不知道添加填充来解释外发光效果。
如果不使用 win32 函数,我是否有一种简单的方法可以确定应用程序在其上运行的显示器的“最大视口”或“最大边界”?我认为这个问题的简短答案可能是否定的,但我想我还是会问。我为应用程序设置了最小/最大宽度和高度,我想如果有一些函数可以调用来让我回到 ax/y 最大边界,那么我可以在减去之后将窗口高度和宽度设置为这些值填充。我的目的是支持从 1024x768 到 1920x1080 的分辨率,以便此应用程序可以在多个位置显示而无需重新配置。
【问题讨论】:
-
我将尝试实现 Lester Lobo 的自定义窗口镶边技术,但感觉这应该比从我的自定义样式窗口中获得“正确”最大化行为更简单。我只是讨厌我失去所有窗口功能只是为了“重新设计”我的主窗口。感觉非常“un-wpf”,因为一切都应该重新设计到第 n 度。
-
我最终使用了自定义 chrome 技术并重新设置了主窗口的样式。比我预期的要多一点工作,但最后我学到了一些东西,所以我想这不是浪费精力。