我正在尝试使用社区工具包来显示另一个弹出窗口中的弹出窗口。据我所知,弹出窗口只能从页面中显示(您不能将弹出窗口转换为我所能知道的)。有人知道从弹出窗口显示弹出式或模态对话框的方法吗?如果有人有替代的解决方案,我也愿意接受任何建议。
我尝试创建一个显式操作符,将弹出窗口转换为ShowPopupAsync方法的页面,但我不完全理解我在做什么,它也不起作用。
发布于 2022-11-22 03:17:37
您可以使用弹出窗口模拟第一个弹出窗口,并在第一个弹出窗口上添加另一个弹出窗口。
请参阅下列代码:
private void Button_Clicked(object sender, EventArgs e)
{ //pop up the first Popup
var popup = new SimplePopup();
this.ShowPopup(popup);
}
SimplePopup.xaml.cs
public partial class SimplePopup : Popup
{
public SimplePopup()
{
InitializeComponent();
}
// pop up the second one
private async void Button_Clicked(object sender, EventArgs e)
{
CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
string text = "This is a Toast";
ToastDuration duration = ToastDuration.Short;
double fontSize = 14;
var toast = Toast.Make(text, duration, fontSize);
await toast.Show(cancellationTokenSource.Token);
}
}
SimplePopup.xaml
<?xml version="1.0" encoding="utf-8" ?>
<toolkit:Popup xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MauiPickerApp1121.SimplePopup"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
>
<VerticalStackLayout Padding="10">
<Label Text="This is a test message!" />
<Button Text="inner pop up" Clicked="Button_Clicked" Margin="20"/>
</VerticalStackLayout>
</toolkit:Popup>
https://stackoverflow.com/questions/74513031
复制相似问题