将 Xamarin 移植到毛伊岛 - 自定义控件Porting Xamarin to Maui - Custom control

Porting Xamarin to Maui - Custom control

提问人:Aventil 提问时间:11/17/2023 更新时间:11/22/2023 访问量:47

问:

我有一个带有几个可绑定属性的自定义控件CustomView

namespace App.Maui.Controls
{
   public class CustomView : Layout<Layout>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:controls="using:App.Maui.Controls">
  <controls:CustomView IsOpen="{Binding ViewModel.IsOpen}">

将我的 Xamarin 应用移植到 Maui 时,代码编译良好,但在尝试显示控件时出现以下错误:

Microsoft.Maui.Platform.HandlerNotFoundException: 'Handler not found for view App.Maui.Controls.CustomControl.'

这个错误似乎很简单,但解决方案让我无法理解 - 在大量的指南之后,他们从未提及处理程序,似乎也不需要为基本控件提供特定于平台的实现。

如何为此类基本控件定义处理程序?

Xamarin 布局 控件 Maui

评论

1赞 Bart 11/17/2023
您确定要扩展吗?我认为新的方法是使用 .有预定义的处理程序。Layout<Layout>LayoutLayout
0赞 Jessie Zhang -MSFT 11/17/2023
你能发布完整的代码吗?CustomView
0赞 Aventil 11/17/2023
我已将其重写为 StackLayout,谢谢。
0赞 Jessie Zhang -MSFT 11/20/2023
嗨,@Aventil,你的意思是你已经解决了你的问题吗?祝贺。您能否分享解决方案,以便它能够帮助其他有类似问题的人?提前致谢。:)

答:

0赞 Aventil 11/22/2023 #1

我不得不重写这些类,以适应 Maui 处理自定义控件的新方式。

我以 https://github.com/hartez/CustomLayoutExamples 为来源。

评论

1赞 Jessie Zhang -MSFT 11/22/2023
嗨,@Aventil,您能否将您的答案标记为已接受,以便帮助其他有类似问题的人?提前致谢。:)