2012-04-03 2 views
5

내부에 메뉴와 스크롤 뷰어가있는 격자가 있습니다. scrollviewer에서 나는 다른 그리드와 webbrowser 요소 내부 groupbox 있습니다.WPF C# webbrowser가 최상위 메뉴를 스크롤합니다.

이제는 창을 내 웹 브라우저 콘텐츠의 콘텐츠보다 작게 만들고 scrollviewer에서 아래로 스크롤하면 문제가 발생합니다. 모든 것은 여백을 가지고있어서 최상위 메뉴 아래에 머무르지 만, webbrowser 요소는 메뉴를 덮지 않습니다. 이 문제를 해결할 방법이 있습니까? 나는 그것을 이해할 수 없다 : s 여백 & 여백은 작동하지 않는다. 그 주위의 그리드 요소 나 뭔가가 트릭을하기를 기대했지만 아무것도 작동하지 않습니다.

편집 :

<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> 
(웹 브라우저 요소는 코드 하단에) : 나는 굉장히 거대했다 염두에 XAML 코드 그러나 곰을 추가하려고, 그래서 이것은 극단적 인 짧은 버전입니다

확인

+0

xaml을 게시 할 수 있습니까? –

+0

ok, xaml 코드 – WtFudgE

답변

2

WPF WebBrowser 컨트롤은 기본적으로 이전 Win32 Webbrowser 컨트롤이며 기술적으로 WPF 내용 위에 렌더링됩니다. 또한 크기 계산에 심각한 문제가 있습니다.

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

관련 문제