Я хочу настроить вид Expander
из пакета CommunityToolkit.Maui.
После установки пакета Nuget CommunityToolkit.Maui 8.0.1 его можно без проблем использовать в проекте приложения. Но если в том же решении я добавляю проект библиотеки классов MAUI (и устанавливаю пакет CommunityToCommunityToolkit.Maui), я получаю ошибку:
XFC0000 Невозможно разрешить тип «http://schemas.microsoft.com/dotnet/2022/maui/toolkit:ct:Expander», если я использую Expander. Разрешено ли использовать CommunityToCommunityToolkit.Maui в проекте библиотеки классов?
В проекте приложения это работает правильно:
<?xml version = "1.0" encoding = "utf-8" ?\>
<ContentPage xmlns = ".....
xmlns:ct = "http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
x:Class = "MauiAppTest.PageTest"\>
<ct:Expander\>
<ct:Expander.Header\>
<Label Text = "Click to expand" /\>
</ct:Expander.Header\>
<ct:Expander.Content\>
<StackLayout\>
<Label Text = "Expanded content goes here" /\>
Add more content here as needed --\>
</StackLayout\>
</ct:Expander.Content\>
</ct:Expander\>
</ContentPage\>
но в проекте библиотеки классов это не компилируется:
<?xml version = "1.0" encoding = "utf-8" ?>
<ContentView xmlns = "....
xmlns:ct = "http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
x:Class = "UserCtrlDr.DropDownCtrl">
<ct:Expander>
<ct:Expander.Header>
<Label Text = "Click to expand" />
</ct:Expander.Header>
<ct:Expander.Content>
<StackLayout>
<Label Text = "Expanded content goes here" />
Add more content here as needed -->
</StackLayout>
</ct:Expander.Content>
</ct:Expander>
</ContentView>`
XFC0000 Невозможно разрешить тип «http://schemas.microsoft.com/dotnet/2022/maui/toolkit:ct:Expander». UserCtrlDr (net8.0-android), UserCtrlDr (net8.0-ios), UserCtrlDr (net8.0-maccatalyst), UserCtrlDr (net8.0-windows10.0.19041.0) D:\Applications\AppliTribunal\Apprentissage MAUI\excercice \MauiAppTest\UserCtrlDr\DropDownCtrl.xaml
Вероятно, проблема вызвана компоновщиком; компоновщик удаляет неиспользуемые компоненты, в вашем случае он считает Expander
неиспользуемым. Попробуйте одно из следующих действий:
<ct:Expander x:name = "expander">
_ = new Expander();
Кредит/Источник:
https://github.com/CommunityToolkit/Maui/issues/1218#issuecomment-1577568396