WPF该怎么接入微软商店支付呢(程序内部支付)?

于晟 20 信誉分
2025-01-14T08:54:47.9533333+00:00

你好,我现在使用wpf开发了一款应用程序,并且已经上架到微软商店(目前可能在审核过程中),我打算下个版本接入微软支付的功能。但是我通过阅读文档,发现“Windows.Services.Store”和“Windows.ApplicationModel.Store”命名空间只有在uwp中才可以使用,有没有办法在wpf应用程序中接入微软支付呢(支付方式为应用程序内)?

Windows
Windows
Microsoft 操作系统系列,可跨个人计算机、平板电脑、笔记本电脑、手机、物联网设备、独立混合现实头戴显示设备、大型协作屏幕和其他设备运行。
582 个问题
C#
C#
一种面向对象的类型安全的编程语言,它起源于 C 语言系列,包括对面向组件的编程的支持。
205 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Hongrui Yu-MSFT 4,445 信誉分 Microsoft 供应商
    2025-01-15T07:25:11.4433333+00:00

    你好,@于晟。欢迎来到 Microsoft 问答。

    你可以按如下方式在WPF项目中使用Windows.Services.Store

    步骤1:配置 WPF 项目以提供 Windows App SDK 支持

    在.csproj文件中PropertyGroup位置下添加以下配置(假设你的项目是.Net 8 ,目标环境是Windows 11)

    <PropertyGroup>
    	<TargetFramework>net8.0-windows10.0.22000.0</TargetFramework>
    	<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
    	<WindowsPackageType>None</WindowsPackageType>
    </PropertyGroup>
    

    官方文档: 1.配置 WPF 项目以提供 Windows App SDK 支持

    2.目标框架名字对象

    步骤2:通过NuGet安装Microsoft.WindowsAppSDK

    步骤3:下载并安装WindowsAppRuntime: WindowsAppRuntime下载位置

    步骤4:引用Windows.Services.Store,获取StoreContext并配置

    using Windows.Services.Store;
    
    private async void PayMent_Button(object sender, RoutedEventArgs e)
    {
          StoreContext context = StoreContext.GetDefault();
          // Obtain window handle by passing in pointer to the window object
          var hwnd = new System.Windows.Interop.WindowInteropHelper(this).Handle;
          // Initialize the dialog using wrapper function for IInitializeWithWindow
          WinRT.Interop.InitializeWithWindow.Initialize(context, hwnd);
    }
    

    官方文档: 1.将 StoreContext 类与桌面桥配合使用

    2.WPF中检索窗口句柄(hwnd)


    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。

    注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。


0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。