2016-11-09 54 views
1

この問題はWinFormsには影響しません。WPFでPDFファイルを正しく処理するCefSharpの取得

私はgithubのサイトから必要最小限の例をダウンロードしている:

https://github.com/cefsharp/CefSharp.MinimalExample

私の知る限り、合理的に認識し、すべてが最新である午前として - 私は、最新のCefSharp確認するために、NuGetを使用していました.Common、CefSharp.Wpfなどがインストールされました - 現在はバージョン53です。

Webページを閲覧するときに使用しても問題ありません。私が代わりに「www.google.com」のこの値に「住所」プロパティをバインドMainWindow.xamlでそう

http://www.cbu.edu.zm/downloads/pdf-sample.pdf

:私はPDFベースのページなどを表示しようとすると問題があります:

<Window x:Class="CefSharp.MinimalExample.Wpf.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:wpf="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf" 
    Title="{Binding Path=Title, ElementName=Browser, Converter={StaticResource TitleConverter}}" 
    WindowState="Maximized"> 
<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition /> 
     <RowDefinition Height="Auto" /> 
    </Grid.RowDefinitions> 
    <wpf:ChromiumWebBrowser Grid.Row="0" 
          x:Name="Browser" 
          Address="http://www.cbu.edu.zm/downloads/pdf-sample.pdf" /> 
    <StatusBar Grid.Row="1"> 
     <ProgressBar HorizontalAlignment="Right" 
        IsIndeterminate="{Binding IsLoading, ElementName=Browser}" 
        Width="100" 
        Height="16" 
        Margin="3" /> 
     <Separator /> 
     <!-- TODO: Could show hover link URL here --> 
     <TextBlock Text="{Binding Address, ElementName=Browser}"/> 
    </StatusBar> 
</Grid> 

私は例を実行すると、このPDFにナビゲートするためには、画面が空白のままと進捗管理が更新されない:

enter image description here

...私は、ブラウザのウィンドウを非最大化、またはなど、それを動かすような何かをしない限り、私はそれを見ることができ、その後、この後

enter image description here

をすることにより、別の奇妙な問題がありますスクロールバーと+/-ボタンが反応しないように見えます。たとえば、「+」ボタンを押して最大化/復元などの別のアクションを押すと、意図した「+」アクションが実行されたように見えます。スクロールバーとその他の操作に合わせてください。

これはWinFormsの最小限の例ではこの動作を示しません。これが役立てば、Wpfのみです。

+0

この ''をこの ''に置き換えてみてください。 –

答えて

0

これはオーバーGitHubのサイトで問題#1799の重複として提起されました:

WPF/OffScreen PDF Viewer not working #1799

バージョン55がリリースされるまでは、サイト上で述べたように、溶液は次のとおりです。

」推奨される回避策は、ceforumで提案されているようにタイマーでInvalidate()を呼び出すことです

51にロールバックしてディセーブルサーフェスを使用するか、バージョン55がリリースされるまで待つことができます。

以前のバージョンにロールバックしてくれたことがわかりました。

関連する問題