制作透明窗口作为绘图画布

时间:2014-09-10 22:43:24

标签: c# wpf visual-studio annotations transparent

我一直在使用Visual Studio中的应用程序,我偶然发现了一个我希望实现的注释功能的问题。基本上,我希望能够使用我的鼠标在屏幕上绘图。我最初在这里检查了一些其他问题并且想要制作一个透明窗口来绘制,但是让窗口完全透明,导致我的鼠标点击触发其他窗口,这将无效。

然后我尝试为具有白色背景的窗口设置极低的不透明度,这导致屏幕略微阴影,这很好。但是,对整个窗口执行此操作会导致我绘制的线也具有极低的不透明度,因此基本上不可见。

有没有办法使用透明窗口来解决这个问题,或者我是否需要做一些事情,比如截取屏幕并制作一个窗口大小的图片供用户使用?这似乎不太优雅的解决方案和我的应用程序中的其他功能,我想尽可能避免这种情况,但如果这似乎是唯一的方法,那么实施中的一些帮助将非常感激。

谢谢! 凯文

1 个答案:

答案 0 :(得分:2)

不要设置窗口的不透明度,而是使用低不透明度的背景,例如#01FFFFFF:

<Window ... Background="#01FFFFFF">
    ...
</Window>

或者,您可以明确地将SolidColorBrush创建为背景并将其不透明度设置为较小的值:

<Window ...>
    <Window.Background>
        <SolidColorBrush Color="White" Opacity="0.01"/>
    </Window.Background>
    ...
</Window>