我在Windows Phone 8中为Web浏览器设置IsEnabled="False"
,但它变为灰色而不是白色。
在将IsEnabled
设置为false
时,有什么办法可以防止灰色网页浏览器变灰?
Pivot
可以抓取滑动。我的应用是一个混合的PhoneGap + Native应用程序,每个PivotItem
都包含一个CordovaView
元素。 答案 0 :(得分:1)
您可以使用半透明的白色背景覆盖矩形,而不是直接禁用。如果放在Web浏览器控件的前面,它将处理阻止Web浏览器编辑的交互,并且可以通过您当前用于在Web浏览器上控制IsEnabled的相同绑定使其可见。
如果您想要真正有用,可以使用带有嵌套标签的边框来显示“请等待”。消息给用户。
答案 1 :(得分:1)
您可以尝试使用UIElement.IsHitTestVisible property。
当您将其值设置为 False 时,它不会报告任何输入事件,也无法获得焦点。
答案 2 :(得分:0)
只需通过样式进行更改即可:
<phone:PhoneApplicationPage.Resources>
<Style x:Key="Chubs_WB" 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">
<Storyboard>
<!--
<DoubleAnimation Duration="0" To=".4" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="StateContainer"/>
-->
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Border x:Name="PresentationContainer"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</phone:PhoneApplicationPage.Resources>
<phone:WebBrowser x:Name="myBrowser" Style="{StaticResource Chubs_WB}" />
我们刚刚摆脱了禁用的双重动画。