Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 作为画布背景的WebBrowser_C#_Wpf_Xaml - Fatal编程技术网

C# 作为画布背景的WebBrowser

C# 作为画布背景的WebBrowser,c#,wpf,xaml,C#,Wpf,Xaml,我喜欢使用C#在WPF中添加WebBrowser控件作为画布背景。我该怎么做?我现在有以下代码。但是不起作用 <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">

我喜欢使用C#在WPF中添加WebBrowser控件作为画布背景。我该怎么做?我现在有以下代码。但是不起作用

<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>


据我所知,WebBrowser控件不是标准的WPF控件。它基本上是一个嵌入了IE控件的窗口。我很确定你不能用这种方式使用它。

它是一个嵌入式IE窗口,所以你不能用那种方式使用它

但是,您可以通过以下方式使用chrome one:


您还可以将其映射到曲面,为其设置动画等。

您不能这样做。web浏览器控件是一个Internet Explorer ActiveX包装器,包含由此产生的问题

但是,您可以使用
控件在其顶部绘制,或者如果您不介意失去交互性,请尝试生成网页的图像并将其用作画布背景

如果您正在考虑使用,请记住:

  • 它还不支持COM可见(因此没有
    window.external
    javascript方法返回到您的C#代码)
  • 它有一种依赖性,只有在非商业用途时才是免费的
  • 它将增加超过10MB的代码大小,因为它需要嵌入Chromium

这个东西也可以从javascript调用C#方法和从C#调用javascript方法吗?请注意,上面的答案非常古老,我认为他们现在已经在WPF中解决了这个问题。