Отключить элемент управления WebBrowser без прозрачности в WP7 - PullRequest
2 голосов
/ 17 марта 2011

В моем приложении есть браузер, который должен отображаться только без пользователя. может взаимодействовать с ним.

Так что, если я установлю IsEnabled = false, браузер станет с серой непрозрачностью поверх страницы, и я не хочу этого.

Как мне это сделать?

Спасибо.

Ответы [ 2 ]

1 голос
/ 17 марта 2011

Чтобы предотвратить изменение непрозрачности на элементе управления WebBrowser, когда для IsEnabled установлено значение false , вам необходимо создать собственный стиль для него.Это очень просто и нужно только выглядеть следующим образом:

 <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

1 голос
/ 17 марта 2011

Если вы хотите отключить взаимодействие с пользователем, вы можете попробовать:

или

  • поместите холст Opacity 0.01 поверх веб-браузера - это будет почти незаметно и не позволит пользователю взаимодействовать с ним.
...