如何使运行中的WPF应用程序窗口透明?

4
我有一段AutoHotKey脚本,可以让我在活动窗口上设置透明度,但它无法与WPF应用程序(如Powershell ISE)一起使用。是否有办法解决这个问题?编辑:如问题所述,我需要在运行的WPF应用程序(如Powershell ISE)上执行此操作。
2个回答

12

将此设置在 Window 元素中

 AllowsTransparency="True" WindowStyle="None" Background="Transparent"

我该如何在正在运行的WPF应用程序上设置这个? - Piotr Owsiak
你不能在运行期间更改AllowTransparency和WindowStyle属性,你需要在开始时设置它们,然后在特定时间将背景更改为透明。 - Maximus
我如何在运行Powershell ISE时将它们设置为开头? - Piotr Owsiak

1

你好,WPF基于Direct3D,与基于GDI/GDI+的win32和forms有些不同。

在WPF中,您可以在xaml中执行此操作(maximus提供了示例),或者创建自己的窗口样式。

这里有一篇文章介绍了如何在WPF中实现此操作。

另一个略微相关的问题。

一个样式:

<Style TargetType="Window" x:Key="TransparentWindowStyle">
    <Setter Property="WindowStyle" Value="None"/>         
    <Setter Property="AllowsTransparency=" Value="True"/>
    <Setter Property="Background" Value="Transparent"/>
</Style>

跳过x:Key,它将应用于所有窗口,或者您必须将其放置在app.xaml或共享的位置,并将其应用于窗口。 对于仅有3个属性来说有点过度,但如果您要进行其他更改,并且这些更改应该应用于多个窗口,则非常方便。希望这可以帮助到您,Stian

PowerShell ISE的XAML在哪里? - Piotr Owsiak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接