2017-01-12 2 views
0

私はWebブラウザーをC#、wpf、CefSharpで開発しようとしています。 WebBrowserのタブでTabControlを使用します。 webbrowserをtabItem.Contentに追加しますが、表示されません。WebBrowserはtabitemで表示されません

public partial class MainWindow : Window 
{ 
    ChromiumWebBrowser webBrowser; 

    public MainWindow() 
    { 
     //Browser init 
     CefSettings settings = new CefSettings(); 
     Cef.Initialize(settings); 

     InitializeComponent(); 
     textboxURL.Text = "https://www.google.com"; 
     webBrowser = new ChromiumWebBrowser(); 
     webBrowser.Load(textboxURL.Text); 
     tabItem1.Content = webBrowser; 
    } 

    //App Shutdown logic 
    private void Exit(object sender, StartupEventArgs e) 
    { 
     Cef.Shutdown(); 
    } 
} 

これはXAMLコードです。あなたが見るように、URLとボタンを持つトップバーのためにDockPanelを使用します。 ブラウザのタブのTabControl。今のところ私は1つのタブに対して1つのWebブラウザーしか使用していません。

Window x:Class="WebBrowser.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:local="clr-namespace:WebBrowser" 
    xmlns:cefSharp="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf" 
    mc:Ignorable="d" 
    Title="WebBrowser" Height="362" Width="699" WindowState="Maximized" WindowStartupLocation="CenterScreen"> 
<StackPanel HorizontalAlignment="Stretch" Margin="0,0,0,-1" Height="auto" VerticalAlignment="Stretch" > 
    <DockPanel VerticalAlignment="Top"> 
     <Button x:Name="btnHome" Content="Home" Margin="2" DockPanel.Dock="Left"/> 
     <Button x:Name="btnBack" Content="Back" Margin="2" DockPanel.Dock="Left"/> 
     <Button x:Name="btnNext" Content="Next" Margin="2" DockPanel.Dock="Left"/> 
     <Label x:Name="labelHttp" Content="HTTP" DockPanel.Dock="Left"/> 
     <Button x:Name="btnMenu" Content="Menu" Margin="2" DockPanel.Dock="Right"/> 
     <Button x:Name="btnGo" Content="Go" Margin="2" DockPanel.Dock="Right"/> 
     <Button x:Name="btnRefresh" Content="Refresh" Margin="2" DockPanel.Dock="Right"/> 
     <TextBox x:Name="textboxURL" Margin="2"/> 
    </DockPanel> 
    <TabControl x:Name="tabControl1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,5,0,0" Height="299"> 
     <TabItem Header="TabPage" Name="tabItem1"> 
     </TabItem> 
    </TabControl> 
</StackPanel> 

+0

ウェブブラウザのサイズがタブより大きくて、コントロールが表示されないことがあります。また、Webブラウザを前面に持ってきて、有効になっていることを確認してください。 – jdweng

+0

XAML tabitem.Content にすべて追加した場合、@jdwengが動作します。しかし、私はC#コードで追加することはできません。 –

+0

TabItemのコンテンツとして追加し、Keyでマークして初期化に使用します。 – Shakra

答えて

0

[OK]を、私はその後のinitブラウザとその負荷私のURLアドレスプロパティを使用してみてください! 答えはwebBrowser.Load(textboxURL.Text)を使用しないでください。新しい要素にはwebBrowser.Address = textBoxURL.Textを使用します。 ありがとうございました!

関連する問題