2012-04-03 19 views
5

Ho una griglia con un menu e un scrollviewer all'interno. Nello scrollviewer ho una groupbox con un'altra griglia e all'interno di un elemento del browser.Il browser Web WPF C# scorre sopra il menu principale

Ora il problema si presenta quando faccio in modo che la mia finestra sia più piccola del contenuto del mio contenuto del browser Web e scorri verso il basso nello scrollviewer. Tutto ha un margine in modo che rimanga sotto il menu principale, tuttavia l'elemento del browser non lo fa, quindi copre il menu. C'è un modo per risolvere questo? Non riesco a capirlo: s Margini & I paddings non funzionano. Speravo che l'elemento della griglia intorno a esso o qualcosa avrebbe fatto il trucco, ma nulla funziona.

EDIT:

Ok ho provato ad aggiungere il codice XAML, ma tenete a mente che era follemente enorme, quindi questo è la versione corta estrema: (elemento browser web è in fondo del codice)

<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> 
+0

Puoi pubblicare il tuo xaml? –

+0

ok, aggiunta una versione light del codice xaml – WtFudgE

risposta

2

Il controllo WebBrowser di WPF è fondamentalmente il vecchio controllo di Win32 Webbrowser ed è reso tecnicamente al di sopra del contenuto WPF. Inoltre ha alcuni problemi seri con i calcoli delle dimensioni.

Vedi http://msdn.microsoft.com/en-us/library/aa970688(v=vs.85).aspx

Temo che non c'è modo di raccontare il controllo WebBrowser per modificare l'azione.

Ma ci sono controlli alternativi là fuori:

http://wpfchromium.codeplex.com/

http://awesomium.com/

Edit:

Abbiamo trovato un ottimo riassunto qui su SO che indica alcune alternative:

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

+0

+1 per la risposta e, se possibile, +1 per la modifica – Gabber

Problemi correlati