use*_*301 3 c# wpf webbrowser-control
我正在显示一个带有WebBrowser控件的窗口.我希望窗户是无框架的,所以我设置了WindowStyle ="无"这样可行但是在窗口周围显示彩色边框.Allowstransparency ="true"删除此项但不再显示WebBrowser(按钮是)
我找到了http://www.neowin.net/forum/topic/646970-c%23-wpf-window-with-transparency-makes-windowsformshost-disappear/但我无法让它工作(SetWindowsLong参数错误)
Window x:Class="ZoomBrowserWPF.WebWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:UMenu"
Title="Test" Height="605" Width="700" ResizeMode="CanResizeWithGrip"
Loaded="Window_Loaded" Unloaded="Window_Unloaded"
WindowStyle="None"
Background="Transparent"
Left="1" Top="1"
UseLayoutRounding="True" SizeChanged="Window_SizeChanged" >
<Border Name="WindowBorder" BorderBrush="Black" BorderThickness="1" CornerRadius="10" Background="Beige">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="25"/>
<RowDefinition Height="30"/>
<RowDefinition/>
<RowDefinition Height="33"/>
<RowDefinition Height="25.5"/>
</Grid.RowDefinitions>
<Grid x:Name="GridWebBrowser" Grid.Row="2" Grid.RowSpan="2">
<WebBrowser x:Name="webBrowser" Grid.ColumnSpan="2" Visibility="Visible"
Margin="0,0,-16,0"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.IsDeferredScrollingEnabled="False"
ScrollViewer.CanContentScroll="False"
/>
</Grid>
<Button x:Name="btnZoomIn" Content="Zoom in" Grid.Row="1" Height="23" HorizontalAlignment="Left" Margin="12,0,0,0" VerticalAlignment="Top" Width="75" Click="btnZoomIn_Click" />
<Button x:Name="btnZoomOut" Content="Zoom out" Grid.Row="1" Height="23" HorizontalAlignment="Left" Margin="168,0,0,0" VerticalAlignment="Top" Width="75" Click="btnZoomOut_Click" />
<TextBlock Grid.Row="1" Height="23" HorizontalAlignment="Left" Margin="102,0,0,0" Name="txtZoom" Text="100" VerticalAlignment="Top" Width="60" />
</Grid>
</Border>
</Window>
Run Code Online (Sandbox Code Playgroud)
我知道这是一个古老的问题,但今天我遇到了完全相同的问题,我用它解决了
ResizeMode="NoResize"
Run Code Online (Sandbox Code Playgroud)
代替
Allowstransparency="true"
Run Code Online (Sandbox Code Playgroud)
ResizeMode也会删除annoing边框,并且不会影响WebBrowser控件.在这种情况下似乎是解决问题的最简单方法:)
小智 5
它不能通过WPF技巧工作,因为WebBrowser控件实际上不是WPF控件.它是一个包装的ActiveX IE Web浏览器控件,不由WPF呈现.
也许您的问题与此帖子从WebBrowser控件中删除边框有关.
老实说,如果可能的话,试着放弃这个糟糕的WebControl并使用别的东西.有适当的WPF支持的免费替代品,例如Awesomium.NET,CefSharp或CefGlue.NET(均基于Chromium).
| 归档时间: |
|
| 查看次数: |
9956 次 |
| 最近记录: |