2011-03-17 78 views
2

我的應用程序中只有不帶用戶才能顯示的webbrowser。可以與它進行交互。在WP7中禁用不透明的WebBrowser控件

所以,如果我設置IsEnabled = false,瀏覽器變成灰色不透明的頁面頂部,我不想這樣。

我該怎麼辦?

謝謝。

回答

1

如果您希望禁用的用戶交互,那麼你可以嘗試:

  • 位置的透明度0.01畫布上的頂網頁瀏覽器 - 這幾乎是看不見的,會阻止用戶與之交互。
+0

太好了!將IsHitTestVisible設置爲假工作!謝謝!! – Leen15 2011-03-17 11:29:12

1

爲了防止對WebBrowser控制透明度的變化,當你設置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將達到同樣的效果,但用較少的變化:P