我一直在 Visual Studio 中开发一个应用程序,我偶然发现了一个关于我希望实现的注释功能的问题。基本上,我希望能够使用鼠标在屏幕上绘图。我最初在这里检查了一些其他问题,并想制作一个透明的窗口来绘制,但是使窗口完全透明导致我的鼠标点击触发其他窗口,这是行不通的。
然后我尝试为白色背景的窗口设置一个极低的不透明度,这导致屏幕有轻微的阴影,这很好。然而,对整个窗口执行此操作导致我绘制的线也具有极低的不透明度,因此基本上保持不可见。
有没有办法使用透明窗口来解决这个问题,或者我是否必须做一些事情,比如截屏并制作一个窗口大小的图片供用户绘制?这似乎是一个不太优雅的解决方案,对于我的应用程序中的其他功能,我想尽可能避免这种情况,但如果这似乎是唯一的方法,那么在实现过程中提供一些帮助将非常感激。
谢谢! 凯文
最佳答案
不要设置窗口的不透明度,而是使用低不透明度的背景,例如#01FFFFFF:
<Window ... Background="#01FFFFFF">
...
</Window>
或者,您可以显式创建一个 SolidColorBrush 作为背景并将其不透明度设置为较小的值:
<Window ...>
<Window.Background>
<SolidColorBrush Color="White" Opacity="0.01"/>
</Window.Background>
...
</Window>
关于c# - 制作一个透明窗口作为绘图的 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25776264/