0

私は現在、WPFとC#およびXAMLを使用するプロジェクトに取り組んでおり、次の問題を思いつきました。

新しい列を作成し(以前は2つしかありませんでした)、TabControl、TabItem、およびStack Panelを追加して、他の列と同様にしました。ただし、サイズを変更すると、最小幅が0(または1)に設定されていても、他の列と重なっています。

   <TabControl Name="tabSideBarHelp" Grid.Column="1" Grid.Row="0" Grid.RowSpan="4" Margin="8,4,4,4" Padding="4" MinWidth="100">
            <TabItem Header="Help">
                <StackPanel>
                    <WebBrowser Grid.Row="3" Height="93" HorizontalAlignment="Left" Name="webBrowser1" VerticalAlignment="Top" MinWidth="1" Grid.Column="1"/>
                </StackPanel>
            </TabItem>

これは重複するWebブラウザです

4

2 に答える 2

3

それはどのように機能するかと関係があり、コントロールにもWebBrowser影響します。WindowsFormsHost基本的に、WebBrowserはWPFの通常のレンダリングフローに参加しないため、WPFコントロールのようにWPFウィンドウに合成されることはありません。代わりに、それが占める領域に関係なく、他のすべての後に描画されるため、コントロールの上に表示されるはずのWPFコントロールと重複しますWebBrowser

WebBrowser残念ながら、これは、この種のレンダリングの問題が発生するため、コントロールと重ならないように注意する必要があることを意味します。

于 2013-03-19T16:22:26.107 に答える
1

まず、min-widthを設定しても、ui要素が指定されたmin-widthを超えてサイズ変更されるのを防ぐことはできません。たぶんあなたは最大幅を設定したかったでしょう。

第二に、WebブラウザはIEフレームであり、wpfネイティブコントロールではないため、奇妙な動作を期待してください。

于 2013-03-19T16:22:44.500 に答える