如何在WPF中调用Windows 10/11 API(UWP/WinRT)

Posted zhaotianff

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在WPF中调用Windows 10/11 API(UWP/WinRT)相关的知识,希望对你有一定的参考价值。

最近在github上看到一个音乐播放器项目,dopamine(项目地址:https://github.com/digimezzo/dopamine-windows.git)

在编译时,提示有一个库找不到

 

 

找了好一会,才发现这是调用了UWP的库。

在最初Windows 8 出来时,这一套新的运行时叫Windows RT,后面到Windows 10时,改成了UWP。

因为我也没做过UWP方面的开发,大概了解了一下。里面提供了一些新的API,UI上面也更加炫丽。

所以这里做个总结,如何在WPF中调用UWP的库,以后有需要的时候可以用得到。

 

===========================================================================

 

.Net:如何在 Windows 窗体应用程序中使用 WPF 用户控件?

【中文标题】.Net:如何在 Windows 窗体应用程序中使用 WPF 用户控件?【英文标题】:.Net: How to use a WPF user control in a windows forms application? 【发布时间】:2011-02-21 09:00:00 【问题描述】:

如何在 Windows 窗体应用程序中使用 WPF 用户控件?

【问题讨论】:

这能回答你的问题吗? Put WPF control into a Windows Forms Form 【参考方案1】:

来自 MSDN:

使用ElementHost 控件放置一个 Windows 窗体上的 WPF UIElement 控件或表单。

例子:

private void Form1_Load(object sender, EventArgs e)

    // Create the ElementHost control for hosting the
    // WPF UserControl.
    ElementHost host = new ElementHost();
    host.Dock = DockStyle.Fill;

    // Create the WPF UserControl.
    HostingWpfUserControlInWf.UserControl1 uc =
        new HostingWpfUserControlInWf.UserControl1();

    // Assign the WPF UserControl to the ElementHost control's
    // Child property.
    host.Child = uc;

    // Add the ElementHost control to the form's
    // collection of child controls.
    this.Controls.Add(host);

Here 是一个很好的教程。

名为 ElementHost 的控件用于 WinForms中的WPF是什么 WindowsFormsHost 用于 WinForms WPF。在设计器中,您可以找到 这个控件在工具箱下面 “WPF 互操作性”。

【讨论】:

以上是关于如何在WPF中调用Windows 10/11 API(UWP/WinRT)的主要内容,如果未能解决你的问题,请参考以下文章

wpf中调用winform用户控件的方法

WPF 禁用TextBox的触摸后自动弹出虚拟键盘

wpf 窗体中如何取得xaml的路径

WPF 禁用TextBox的触摸后自动弹出虚拟键盘

为 WPF 程序添加 Windows 跳转列表的支持

如何使 WPF 折叠到 Windows 服务框中