CefSharp用于WPF不显示

时间:2016-02-05 21:17:13

标签: c# asp.net .net wpf cefsharp

我通过NuGet在我的应用程序中安装了CefSharp,然后在我的app.xaml.cs OnStartup()方法中初始化它。当我的应用程序运行时,我什么都没显示,没有错误。将视图切换为不使用CefSharp的另一个视图正常显示。我似乎无法使用CefSharp渲染网页。

查看[QuestHTMLView]

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition />
    </Grid.RowDefinitions>
    <cefSharp:ChromiumWebBrowser Grid.Row="0" Address="https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-questions" />
</Grid>

ViewModel [QuestHTMLViewModel]

public class QuestHTMLViewModel : Screen
{
}

ShellView(呈现上一个视图的位置)

<xctk:BusyIndicator VerticalAlignment="Top" Grid.Row="1" Grid.Column="0" Grid.RowSpan="2" IsBusy="{Binding IsBusy}">
    <ContentControl x:Name="ActiveItem" />
</xctk:BusyIndicator>

ShellViewModel(其中CefSharp视图设置为ActiveItem)[仅限构造函数]

    public ShellViewModel()
    {
        QuestHTML = new QuestHTMLViewModel();
        ActiveItem = QuestHTML;
    }

初始化

protected override void OnStartup(StartupEventArgs e)
{
    Cef.Initialize(new CefSettings());
    base.OnStartup(e);
}

1 个答案:

答案 0 :(得分:0)

您应该初始化并在Window方法中显示OnStartUp()

protected override void OnStartup(StartupEventArgs e)
{
   MainWindow = new MainWindow();
   MainWindow.ShowDialog();
   base.OnStartup(e);
}

并且不要忘记从StartupUri删除App.xaml属性。 App.xaml应如下所示:

<Application x:Class="TestPlace.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Application.Resources>

    </Application.Resources>
</Application>