-3

我的 WPF 项目中有以下代码:

    Dim ce As Windows.UI.Xaml.Controls.CaptureElement = New Windows.UI.Xaml.Controls.CaptureElement
    ce.Width = 300
    ce.Height = 200

    Dim elementHostPartial = New ElementHost
    elementHostPartial.Child = ce 'error here - cannot be converted to UIElement

    myWindowsFormsHost.Child = ce 'error here - cannot be converted to UIElement

    Dim captureManager = New MediaCapture
    Await captureManager.InitializeAsync

    ce.Source = captureManager
    Await captureManager.StartPreviewAsync

我确定我在这里遗漏了一些简单的东西。你能看到分辨率吗?

编辑:这是一个 Windows 10 项目。包括两个 NuGet 项目:Microsoft.Toolkit.Wpf.UI.Controls 和 Microsoft.Toolkit.Wpf.UI.XamlHost。XAML 具有以下标记:

<WindowsFormsHost x:Name="myWindowsFormsHost" Width="150" Height="150" />

(尽管我愿意切换到使用 MediaElement 或 MediaPlayerElement)该框架是:

在此处输入图像描述

4

1 回答 1

0

假设您在 Windows 10 版本 1903 或更高版本上以 .NET Core 3 为目标,则可以使用该WindowsXamlHost控件在 WPF 应用程序中托管 UWP 控件:

xmlns:xaml="clr-namespace:Microsoft.Toolkit.Wpf.UI.XamlHost;assembly=Microsoft.Toolkit.Wpf.UI.XamlHost"
...
<xaml:WindowsXamlHost />

AWindowsFormsHost用于承载 WinForms 控件。

有关详细信息,请参阅文档

于 2020-09-25T12:53:12.780 回答