我正在使用 .NET MAUI 制作一個應用程式,我正在嘗試為特定的控制元件實體實作自定義處理程式(例如,某些條目應該使用我創建的自定義處理程式)。為了實作這一點,我遵循了官方的 MS檔案。以下是他們告訴我要使用的設定:
1.首先制作Entry控制元件的子類:
using Microsoft.Maui.Controls;
namespace MyMauiApp
{
public class MyEntry : Entry
{
}
}
2.我然后自定義EntryHandler以對MyEntry實體執行所需的修改:
using Microsoft.Maui;
using Microsoft.Maui.Controls;
using Microsoft.Maui.Graphics;
namespace MauiApp1
{
public partial class App : Application
{
public App()
{
InitializeComponent();
Microsoft.Maui.Handlers.EntryHandler.EntryMapper[nameof(IView.Background)] = (handler, view) =>
{
if (view is MyEntry)
{
#if __ANDROID__
handler.NativeView.SetBackgroundColor(Colors.Red.ToNative());
#elif __IOS__
handler.NativeView.BackgroundColor = Colors.Red.ToNative();
handler.NativeView.BorderStyle = UIKit.UITextBorderStyle.Line;
#elif WINDOWS
handler.NativeView.Background = Colors.Red.ToNative();
#endif
}
};
}
}
}
問題:這給了我以下錯誤:
嚴重性代碼說明專案檔案行抑制狀態錯誤 CS0021 無法將帶有 [] 的索引應用于型別為“IPropertyMapper<IEntry, EntryHandler>”的運算式 MyMauiApp (net6.0-android)、MyMauiApp (net6.0-ios)、MyMauiApp (net6) .0-windows10.0.19041) C:\Users\xxxxxx\source\repos\MyMauiApp\MyMauiApp\App.xaml.cs 24 活動
正如我所說,我完全遵循了檔案,但仍然出現此錯誤。我讀過其他人也有這個問題。任何人都可以幫忙嗎?
uj5u.com熱心網友回復:
似乎通過此處和此處的此 pr 在該領域進行了一些重大更改。
從什么樣子這項作業已經完成,這樣就可以在級聯自定義映射器與AppendToMapping和PrependToMapping或完全改變了整個映射ModifyMapping。
這里不解釋所有的變化,讓我們關注你的情況。這意味著,而不是這一行Microsoft.Maui.Handlers.EntryHandler.EntryMapper[nameof(IView.Background)] = (handler, view) =>
您現在應該將其宣告為: Microsoft.Maui.Handlers.EntryHandler.EntryMapper.AppendToMapping(nameof(IView.Background), (handler, view) =>
請注意,您現在也應該)在右括號上添加一個,從而生成完整的代碼:
Microsoft.Maui.Handlers.EntryHandler.EntryMapper.AppendToMapping(nameof(IView.Background), (handler, view) =>
{
if (view is MyEntry)
{
#if __ANDROID__
handler.NativeView.SetBackgroundColor(Colors.Red.ToNative());
#elif __IOS__
handler.NativeView.BackgroundColor = Colors.Red.ToNative();
handler.NativeView.BorderStyle = UIKit.UITextBorderStyle.Line;
#elif WINDOWS
handler.NativeView.Background = Colors.Red.ToNative();
#endif
}
});
我會看看我是否可以在這里和那里更新檔案,希望這不會再次中斷;)
編輯:為此更新了維基頁面
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/365682.html
標籤:C# 。网 xamarin.forms 毛伊岛
上一篇:我在哪里沒有關閉流?
