我发现了从弹出窗口调用提示时显示提示的限制。特别是用CommunityToolkit.Maui
弹出窗口验证。
以下是详细信息:
在Map页面中,我有这个map clicked事件的处理程序:
void mapClicked(object sender, MapClickedEventArgs e) {
var pin = new Pin {
Label = "Here's where it is",
Location = e.Location
};
map.Pins.Add(pin);
}
我想允许用户在点击时编辑管脚标签,如下所示:
pin.InfoWindowClicked += async (s, args) => {
string pinName = ((Pin)s).Label;
await DisplayPromptAsync("Enter new label", "enter new label");
};
然而,这并不起作用,因为没有显示DisplayPrompt
。我试着在主线程中运行它,也无济于事。
**更新。**我已经找到答案,请参见下面的答案。
1条答案
按热度按时间rqdpfwrv1#
这个问题是在试图从弹出窗口中调出提示符时出现的,显然,不能在弹出窗口的顶部放置
DisplayPromptAsync
(或DisplayAlert
)。在
iOS
中的平台特定级别上,错误消息如下:Attempt to present <UIAlertController> on <Microsoft_Maui_Controls_Platform_Compatibility_ShellFlyoutRenderer> (from <Microsoft_Maui_Controls_Platform_Compatibility_ShellFlyoutRenderer>) which is already presenting <CommunityToolkit_Maui_Core_Views_MauiPopup>.