小编Fru*_*Nik的帖子

我可以在 MAUI 项目中使用现有的 WinUI3 控件吗?

是否可以在MAUI项目中使用WinUI 3现有的控件?就像https://github.com/microsoft/WinUI-Gallery中的控件一样

我将 WinUI 包安装到我的 MAUI 项目中

<ItemGroup>
    <PackageReference Include="Microsoft.UI.Xaml" Version="2.7.1" />
    <PackageReference Include="Microsoft.WindowsAppSDK" Version="1.1.1" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

并编辑App.xaml

<Application xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:MauiWithWinui"
            xmlns:controls="using:Microsoft.UI.Xaml.Controls"
             x:Class="MauiWithWinui.App">
    <Application.Resources>
        <controls:XamlControlsResources>
            <controls:XamlControlsResources.MergedDictionaries>
                <ResourceDictionary Source="Resources/Styles/Colors.xaml" />
                <ResourceDictionary Source="Resources/Styles/Styles.xaml" />
            </controls:XamlControlsResources.MergedDictionaries>
        </controls:XamlControlsResources>
    </Application.Resources>
</Application>
Run Code Online (Sandbox Code Playgroud)

Platform/Windows/App.xaml

<maui:MauiWinUIApplication
    x:Class="MauiWithWinui.WinUI.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:maui="using:Microsoft.Maui"
    xmlns:local="using:MauiWithWinui.WinUI"
    xmlns:controls="using:Microsoft.UI.Xaml.Controls">
    <Application.Resources>
        <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/>
    </Application.Resources>
</maui:MauiWinUIApplication>
Run Code Online (Sandbox Code Playgroud)

但是当我去MAUI的某个Page下使用WinUI控件时,提示找不到该控件

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:controls="using:Microsoft.UI.Xaml.Controls"
             x:Class="MauiWithWinui.MainPage">
    <Grid>
        <controls:RatingControl AutomationProperties.Name="RatingControl with placeholder" PlaceholderValue="3" />
    </Grid>
</ContentPage>
Run Code Online (Sandbox Code Playgroud)

MAUI项目仅针对Windows平台,尽管我知道winui3项目是更好的选择

winui-3 maui .net-maui maui-windows

7
推荐指数
1
解决办法
2213
查看次数

标签 统计

.net-maui ×1

maui ×1

maui-windows ×1

winui-3 ×1