禁用WebBrowser而不显示灰色

时间:2014-10-13 22:53:44

标签: c# wpf xaml windows-phone-8

我在Windows Phone 8中为Web浏览器设置IsEnabled="False",但它变为灰色而不是白色。

在将IsEnabled设置为false时,有什么办法可以防止灰色网页浏览器变灰?

  • 请不要告诉我这是件坏事。必须禁用Web浏览器片刻,因此Pivot可以抓取滑动。我的应用是一个混合的PhoneGap + Native应用程序,每个PivotItem都包含一个CordovaView元素。

3 个答案:

答案 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}" />

我们刚刚摆脱了禁用的双重动画。