Фон CefSharp ChromiumWebBrowser больше не прозрачен в - PullRequest
1 голос
/ 04 августа 2020

Мы обнаружили проблему в нашем программном обеспечении, которое использует CefSharp для отображения контента на основе веб-браузера в представлениях WPF, когда фон перешел с прозрачного (в версиях до 81.3.100) на белый (83.4.20).

Легко воспроизводится. Создайте окно с светло-голубым фоном и cefSharp:ChromiumWebBrowser:

<Window x:Class="CefSharpIssue.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:cefSharp="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf"
        mc:Ignorable="d"
        Title="MainWindow"
        Height="200"
        Width="840"
        Background="LightBlue">
    <Grid>
        <cefSharp:ChromiumWebBrowser Name="BrowserView" Margin="10" />
    </Grid>
</Window>

А затем в коде загрузите какой-нибудь HTML, который отображает текст:

using CefSharp;
using System.Windows;

namespace CefSharpIssue
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            BrowserView.IsBrowserInitializedChanged += (sender, e) =>
            {
                if ((bool)e.NewValue)
                    BrowserView.LoadHtml(
                        "<html><body><h1>"
                            + $"CefSharpVersion {Cef.ChromiumVersion}<br>"
                            + $"CefVersion {Cef.CefVersion}<br>"
                            + $"CefSharpVersion {Cef.CefSharpVersion}"
                        + "</h1></body></html>");
            };
        }
    }
}

CefSharp 83.4.20: CefSharp 83.4.20

CefSharp 81.3.100: CefSharp 81.3.100

CefSharp 79.1.360: CefSharp 79.1.360

CefSharp 75.1.143: CefSharp 75.1.143

(it worked with a transparent background for as long as we've been using it. I just wanted to confirm it's change introduced in 83.4.20, not a bug that existed in one previous version)

I've tried setting the CefSettings.BackgroundColor и BrowserSettings.BackgroundColor без результатов.

Это ошибка в CefSharp, или изменить функциональность, которую я не могу найти в примечаниях к выпуску, и поэтому есть ли у кого-нибудь обходной путь (кроме использования 81.3.100, которого я действительно не хочу делать)?

...