2012-04-03 10 views
5

メニューとスクロールビューアーがあるグリッドがあります。 scrollviewerで私は別のグリッドとwebbrowser要素の中にグループボックスを持っています。WPF c#webbrowserがトップメニューをスクロールします

ここで問題は、ウィンドウをウェブブラウザのコンテンツのコンテンツよりも小さくし、スクロールビューアでスクロールダウンするときに発生します。すべてがマージンを持っているので、トップメニューの下にとどまりますが、webbrowser要素はメニューをカバーしません。これを解決する方法はありますか?私はそれを理解することはできません:■マージン&埋め込みが動作しません。私はそれの周りのグリッド要素または何かがトリックを行うことを望んでいたが、何も動作しません。

EDIT:(ウェブブラウザの要素は、コードの一番下にある)

<Window x:Class="Cleaning_Masters_Official.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="Cleaning Masters Offerte Packet - nieuw.off" Name="Main" Width="{DynamicResource {x:Static SystemParameters.MaximizedPrimaryScreenWidthKey}}" 
     Icon="bin\Debug\Images\Main.ico" 
    Height="{DynamicResource {x:Static SystemParameters.MaximizedPrimaryScreenHeightKey}}" Closing="Main_Closing" 
    WindowStartupLocation="CenterScreen" WindowStyle="SingleBorderWindow" WindowState="Maximized"> 

    <Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="22" /> 
      <RowDefinition Height="*" /> 
      <RowDefinition Name="rowbar" Height="0" /> 
     </Grid.RowDefinitions> 

     <ScrollViewer Margin="10" Grid.Row="1"> 
      <TabControl Name="tabChapters"> 

       <TabItem Header="Algemeen" Name="tabGeneral"> 
        <Grid> 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition Width="*" /> 
          <ColumnDefinition Width="*" /> 
          <ColumnDefinition Width="*" /> 
         </Grid.ColumnDefinitions> 
         <Grid.RowDefinitions> 
          <RowDefinition Height="auto" /> 
          <RowDefinition Height="*" /> 
         </Grid.RowDefinitions> 

         <GroupBox Header="Configureer hoofdstukken:" Margin="10" Padding="10"> 
          <Grid> 
           ...  
          </Grid> 
         </GroupBox> 

         <GroupBox Header="Voorpagina Afbeeldingen:" Margin="10,0,10,10" Padding="10" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2"> 
          <Grid VerticalAlignment="Top"> 
           ...  
          </Grid> 
         </GroupBox> 

         <GroupBox Header="Offerte Info:" Margin="10,10,10,10" Padding="10" Grid.Column="1" Grid.Row="0"> 
          <Grid> 
           ...  
          </Grid> 
         </GroupBox> 

         <GroupBox Margin="0,10,10,10" Header="Inhoudstafel:" Grid.Column="2" Grid.RowSpan="2"> 
          <Grid> 
           <WebBrowser Margin="10" Name="wbInhoudstafel"/> 
          </Grid> 
         </GroupBox> 
        </Grid> 
       </TabItem> 

       <TabItem Header="1. Voorwoord" Name="tabVoorwoord"> 
       </TabItem> 
        ...   
       </TabItem> 
      </TabControl> 
     </ScrollViewer> 

     <Menu DockPanel.Dock="Top" Name="TopMenu"> 
      ...  
     </Menu> 

     <StatusBar Name="sbar" Grid.Row="2" 
      ...  
     </StatusBar> 
    </Grid> 
</Window> 

[OK]を私はそれがめちゃくちゃ巨大だったので、これは極端に短いバージョンです念頭に置いて、XAMLコードが、クマを追加しようとしました

+0

xamlを投稿できますか? –

+0

ok、xamlコード – WtFudgE

答えて

2

WPF WebBrowserコントロールは、基本的には古いWin32 WebBrowserコントロールであり、技術的にはWPFコンテンツの上にレンダリングされます。さらに、サイズの計算にいくつかの重大な問題があります。

は、私はその動作を変更するためのWebBrowserコントロールを指示する方法はありません怖い http://msdn.microsoft.com/en-us/library/aa970688(v=vs.85).aspx

を参照してください。

しかし、代替コントロールがそこにあります

http://wpfchromium.codeplex.com/

http://awesomium.com/

編集:

見つかりいくつかの選択肢を指し、ここでSOに大きな要約

WPF WebBrowser (3.5 SP1) Always on top - other suggestion to display HTML in WPF

+0

+1の明るいバージョンを回答に追加しました。可能であれば+1を編集しました – Gabber

関連する問題