簡體   English   中英

WinUI 3 UWP - 對話框

[英]WinUI 3 UWP - Dialog

我正在為 WinUI3 UWP 中的 Windows 11 開發一個新應用程序,我想顯示一個對話框以提供安全操作,如 Microsoft Docs 的此示例: Z5E056C500A1C4B6A7110B50D80-us/BADE5Zwindows://docs.設計/控制/對話框和彈出/對話框

private async void DisplayNoWifiDialog()
{
    ContentDialog noWifiDialog = new ContentDialog
    {
        Title = "No wifi connection",
        Content = "Check your connection and try again.",
        CloseButtonText = "Ok"
    };

    ContentDialogResult result = await noWifiDialog.ShowAsync();
}

當用戶單擊我的 MainPage.xaml 上的按鈕時顯示該對話框,並且當用戶單擊“確定”時返回 MainPage.xaml,但是當我運行我的程序時給我這個錯誤:“XamlRoot 必須顯式設置為無父彈出窗口”

我該如何解決這個問題?

謝謝!

看起來您正在開發一個 WinUI3 應用程序。 正如@Raymond Chen 提到的,您必須將XamlRoot property添加到ContentDialog

Xaml:

  <StackPanel x:Name="MyPanel" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
    <Button x:Name="myButton" Click="myButton_Click">Click Me</Button>
</StackPanel>

代碼隱藏:

 private async void myButton_Click(object sender, RoutedEventArgs e)
    {
        ContentDialog noWifiDialog = new ContentDialog
        {
            Title = "No wifi connection",
            Content = "Check your connection and try again.",
            CloseButtonText = "Ok"
        };
        //set the XamlRoot property
        noWifiDialog.XamlRoot = MyPanel.XamlRoot;

        ContentDialogResult result = await noWifiDialog.ShowAsync();
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM