Luí*_*uís 4 uwp winui-3 visual-studio-2022 windows-11
我正在 WinUI3 UWP 中为 Windows 11 开发一个新应用程序,我想显示一个对话框来提供安全操作,如 Microsoft Docs 示例中所示:https ://learn.microsoft.com/en-us/windows/apps/设计/控件/对话框和弹出窗口/对话框
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();
}
Run Code Online (Sandbox Code Playgroud)
当用户单击 MainPage.xaml 上的按钮时显示该对话框,当用户单击“确定”时返回到 MainPage.xaml,但是当我运行程序时出现此错误:“必须为无父级弹出窗口显式设置 XamlRoot”
我该如何解决这个问题?
谢谢你!
您似乎正在开发一个 WinUI3 应用程序。正如@Raymond Chen 提到的,您必须将其添加到ContentDialogXamlRoot property中。
XML:
<StackPanel x:Name="MyPanel" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<Button x:Name="myButton" Click="myButton_Click">Click Me</Button>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
隐藏代码:
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();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2820 次 |
| 最近记录: |