【发布时间】:2019-12-08 19:36:19
【问题描述】:
我正在使用 WPF XAML 表单和 Powershell [Windows.Markup.XamlReader] 为我的 Powershell UI 启动页面编写一个“空闲启动屏幕”。
启动外部脚本时,启动页面进入“空闲”模式,此时“空闲启动屏幕”进入。
现在的问题是:首次启动外部 WPF UI(包括外部 WPF Powershell 脚本)时,“空闲启动屏幕”工作得非常好。然而,当关闭该外部 WPF UI 并重新打开另一个(仍在同一个 PSSession 中)时,“空闲启动屏幕”看起来很奇怪。好像它里面的 StackPanel 一直到前台,忽略任何 Opacity 或 ZIndex 设置(示例可以在下面的 imgur 链接中找到)。
我的 WPF 堆栈面板:
<StackPanel x:Name="Launching" Visibility="Visible">
<StackPanel.Background>
<LinearGradientBrush EndPoint="0.5,1" MappingMode="RelativeToBoundingBox" StartPoint="0.5,0">
<GradientStop Color="LightBlue" Offset="0.077"/>
<GradientStop Color="Transparent" Offset="2"/>
</LinearGradientBrush>
</StackPanel.Background>
<StackPanel Margin="0,180,0,0" Height="200" Width="200" Background="Transparent">
<wfi:WindowsFormsHost Margin="50,-30,0,0">
<winForms:PictureBox x:Name="pictureBoxLoading">
</winForms:PictureBox>
</wfi:WindowsFormsHost>
<Label Content="Applicatie lanceren..." Width="115" Margin="0,-29,0,0"/>
</StackPanel>
</StackPanel>
表单背后的Powershell代码:
## Loading the .gif
$pictureBoxLoading.Image = [System.Drawing.Image]::Fromfile("C:\Images\rocket.gif")
## Triggers
$Launching.Visibility = [System.Windows.Visibility]::Visible
$Launching.Visibility = [System.Windows.Visibility]::Hidden
我的问题的视频示例: https://imgur.com/a/UZyxH0A
【问题讨论】:
-
如何触发叠加,蓝色叠加是如何实现的
-
@T-Me 我编辑了这篇文章。注意到并非所有代码都被正确复制粘贴。
标签: wpf powershell xaml user-interface