Type TouchEffect not found in xmlns with Xamarin.CommunityToolkit.MauiCompat

vtwuwzda  于 2023-04-18  发布在  其他
关注(0)|答案(1)|浏览(115)

我试图得到一个长按触摸效果与MAUI工作;通过各种各样的线程,我最终使用了Xamarin.CommunityToolkit.MauiCompat包,以允许我使用MAUI中还没有的TouchEffect
我遇到的问题是,当我运行这个函数时,InitializeComponent调用抛出了一个异常-Microsoft.Maui.Controls.Xaml.XamlParseException: 'Position 10:36. Type TouchEffect not found in xmlns http://xamarin.com/schemas/2020/toolkit'
奇怪的是,Intellisense知道TouchEffect在那里,当我开始输入xct:时,它会建议我期望可用的所有内容,所以它几乎就像是运行时链接问题或其他问题。我一生都无法找出出了什么问题,谷歌搜索也没有结果。
这是我的页面的XML:

<?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:xct="http://xamarin.com/schemas/2020/toolkit"
         x:Name="ArtistsPage"
         x:Class="MediaServerApp.Artists"
         xmlns:controls="clr-namespace:MediaServerApp"
         NavigationPage.HasNavigationBar="False"
         Title="" >
    <FlexLayout Direction="Column" xct:TouchEffect.Command="{Binding LongPressItem}">
    ...
kt06eoxx

kt06eoxx1#

您可以将xmlns:xct="http://xamarin.com/schemas/2020/toolkit"更改为xmlns:xct="clr-namespace:Xamarin.CommunityToolkit.Effects;assembly=Xamarin.CommunityToolkit.MauiCompat"。例如:

<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         xmlns:xct="clr-namespace:Xamarin.CommunityToolkit.Effects;assembly=Xamarin.CommunityToolkit.MauiCompat"
         x:Name="ArtistsPage"
         x:Class="MediaServerApp.Artists"
         xmlns:controls="clr-namespace:MediaServerApp"
         NavigationPage.HasNavigationBar="False"
         Title="" >
    <FlexLayout Direction="Column" xct:TouchEffect.Command="{Binding LongPressItem}">
    ...

我已经测试过了,项目可以成功部署。另外,有一个关于[MauiCompat] TouchEffect not working的bug,你可以参考里面的解决方法或者跟进这个问题。

相关问题