我的应用程序中有一个webbrowser,只需要在没有用户的情况下显示。可以与它互动。
因此,如果我设置IsEnabled = false,浏览器会在页面顶部变为灰色不透明度,我不希望这样。
我该怎么办?
感谢。
答案 0 :(得分:1)
答案 1 :(得分:1)
要在WebBrowser
设置为 false 时阻止IsEnabled
控件上的不透明度更改,您需要为其创建自定义样式。它非常简单,只需要如下所示:
<Style x:Key="WebBrowserStyle1" TargetType="phone:WebBrowser">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="phone:WebBrowser">
<Border x:Name="StateContainer" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Opacity="1">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="WebBrowserStates">
<VisualState x:Name="Normal"/>
<VisualState x:Name="Disabled"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Border x:Name="PresentationContainer"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
但是,用户将无法与内容进行交互。如果您希望禁用控件但是交互式,我不确定您要实现的目标。如果您要执行的操作是停止用户与控件进行交互,则上述操作会起作用,或者将IsHitTestVisible
设置为 false 会获得相同的结果,但更改次数较少:P