Веб-браузер как фон холста - PullRequest
3 голосов
/ 25 ноября 2010

Мне нравится добавлять элемент управления WebBrowser в качестве фона Canvas в WPF с использованием C #. Как мне это сделать? У меня есть следующий код на данный момент. Но не работает.

<Canvas
  Name="canvas"
  Grid.ColumnSpan="4"
  Grid.Row="1"
  MouseDown="Canvas_MouseDown"
  MouseMove="Canvas_MouseMove"
  MouseUp="Canvas_MouseUp"
  Margin="0,0,0,16"
  Grid.RowSpan="3">
  <Canvas.Background>
    <VisualBrush>
      <VisualBrush.Visual>
        <WebBrowser
          x:Name="wbMain"
          Height="246"
          Width="592" />
      </VisualBrush.Visual>
    </VisualBrush>
  </Canvas.Background>
</Canvas>

Ответы [ 3 ]

1 голос
/ 25 ноября 2010

Вы не можете сделать это.Элемент управления веб-браузера представляет собой оболочку Internet Explorer ActiveX с возникающими в результате проблемами воздушного пространства.

Однако вы можете рисовать поверх него с помощью элемента управления <Popup> или, если вы не возражаете против потери интерактивности, попробуйте сгенерироватьизображение веб-страницы и использование его в качестве фона Canvas.

Если вы думаете об использовании WPF Chrome-оболочки от Chris Cavanagh , имейте в виду:

  • Он еще не поддерживает COM-Visible (поэтому нет window.external методов javascript обратно в ваш код C #)
  • Он зависит от Awesomium , который бесплатен только длякоммерческое использование.
  • Это добавит более 10 МБ к размеру вашего кода, так как он должен встраивать Chromium
0 голосов
/ 25 ноября 2010

Это встроенное окно IE, поэтому вы не можете использовать его таким образом.

Вы МОЖЕТЕ, однако, использовать хром таким образом: http://chriscavanagh.wordpress.com/2009/08/25/a-real-wpf-webbrowser/

Вы также можете отобразитьэто на поверхность, оживить его и т. д.

0 голосов
/ 25 ноября 2010

Насколько мне известно, элемент управления WebBrowser не является стандартным элементом управления WPF.Это в основном встроенное окно с элементом управления IE.Я вполне уверен, что вы не можете использовать это таким образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...