【发布时间】:2020-06-05 16:38:50
【问题描述】:
我不知道这是否可能。
我尝试了许多不同的方法,但我无法解决。
我有一个 MetroWindow WPF 表单 (MetroHamburgerMenu)。我想将一个 wpf 子窗口作为 Web 浏览器添加到其控制按钮之一。
Web 浏览器的 XAML 如下:
<Grid
xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<DockPanel>
<WebBrowser Name="WebBrowser" DockPanel.Dock="Left" Margin="50"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
</WebBrowser>
</DockPanel>
</Grid>
</Grid>
幸运的是,添加了子窗口,但是背景是透明的,因此网页不可见。我已将 Google.com 添加到网络浏览器导航中。
您能否指导如何在子窗口中正确显示网页?
如果问题不清楚,请告诉我。
【问题讨论】:
-
您是否将任何内容放入网络浏览器?我在你的问题中没有看到这一点。
-
@RobertHarvey 是的,我的脚本里面有这个。
#Add View Plan child window $ViewPlan = $Form.FindName("Production_Plan") $ProductionPlanXAML = LoadXaml($viewFolder + '\WebBrowser.xaml') $ProductionPlanChildreader = (New-Object System.Xml.XmlNodeReader $ProductionPlanXAML) $ProductionPlan_Xaml = [Windows.Markup.XamlReader]::Load($ProductionPlanChildreader) $WebBrowser = $ProductionPlan_Xaml.FindName("WebBrowser") $WebBrowser.Navigate("https://Google.com") $ViewPlan.Children.Add($ProductionPlan_Xaml) -
Web 浏览器导航正常工作。当我在白屏上移动鼠标时,它会显示超链接。此外,当我将鼠标放在谷歌搜索框上时,一个小文本显示为“搜索”。透明度的唯一问题。
-
[xml]$xaml=@" <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Title="$Title" Height="500" Width="700"> <Grid> <DockPanel> <WebBrowser Name="WebBrowser" DockPanel.Dock="Top" Margin="30"> </WebBrowser> </DockPanel> </Grid> </Window> "@ #Add-Type -Name 'Windows.Markup.XamlReader' #Read XAML $reader=(New-Object System.Xml.XmlNodeReader $xaml) $Form=[Windows.Markup.XamlReader]::Load($reader) $WebBrowser = $Form.FindName("WebBrowser") $WebBrowser.Navigate("https://Google.com") $Form.ShowDialog() -
上面的代码正在运行。我在 MetroHamburgerMenu 中使用了相同的 xaml。
标签: wpf powershell xaml mahapps.metro