制作一个透明的窗口作为绘图的画布
本文关键字:窗口 绘图 一个 透明 | 更新日期: 2023-09-27 18:21:30
我一直在Visual Studio中开发一个应用程序,无意中发现了一个要实现的注释功能的问题。基本上,我希望能够用我的鼠标在屏幕上画画。我最初在这里检查了一些其他问题,并想制作一个透明的窗口来绘制,但使窗口完全透明会导致我的鼠标点击触发其他窗口,这是行不通的。
然后,我尝试为白色背景的窗口设置一个极低的不透明度,这会使屏幕稍微变暗,这很好。然而,对整个窗口这样做会导致我画的线也具有极低的不透明度,因此基本上保持不可见。
有没有一种方法可以使用透明窗口解决这个问题,或者我必须做一些事情,比如截屏并制作一张窗口大小的图片供用户绘制?这似乎是一个不那么优雅的解决方案,对于我的应用程序中的其他功能,如果可能的话,我希望避免这种情况,但如果这似乎是唯一的方法,我们将非常感谢在实现中提供一些帮助。
谢谢!Kevin
不要设置窗口的不透明度,而是使用低不透明度的背景,例如#01FFFFFFF:
<Window ... Background="#01FFFFFF">
...
</Window>
或者,您可以显式创建一个SolidColorBrush作为背景,并将其"不透明度"设置为一个小值:
<Window ...>
<Window.Background>
<SolidColorBrush Color="White" Opacity="0.01"/>
</Window.Background>
...
</Window>