C# 如何在.xaml中创建简单的ContentDialog?

C# 如何在.xaml中创建简单的ContentDialog?,c#,xaml,uwp,uwp-xaml,C#,Xaml,Uwp,Uwp Xaml,创建ContentDialog需要什么 我基本上有一个按钮。当我点击该按钮时,ContentDialog打开。ContentDialog应包括一个类似“这是一个示例”的文本和两个按钮。必须是什么样子?例如: <Page x:Class="PDFViewerSDK_Win10.PDFReaderPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://

创建ContentDialog需要什么

我基本上有一个按钮。当我点击该按钮时,ContentDialog打开。ContentDialog应包括一个类似“这是一个示例”的文本和两个按钮。
必须是什么样子?例如:

<Page
    x:Class="PDFViewerSDK_Win10.PDFReaderPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:PDFViewerSDK_Win10"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d" SizeChanged="OnSizeChanged">

    <ContentDialog x:Name="test" PrimaryButtonText="Ok" SecondaryButtonText="Cancel" Style="{StaticResource AppBarButtonStyle}" Tapped="OnOptionItemTapped" >
        <Image Source="Assets/images/icon_menu.png"/>
    </ContentDialog>
</Page>

可以在代码隐藏中轻松创建内容对话框。然后,您可以在单击事件中为您提到的想要的按钮运行该C#代码

您的另一个选择是在XAML上创建一个内容对话框,正如您在原始问题中已经发布的那样,这样当单击按钮时,您只需参考代码后面的内容对话框,并调用
showsync()
方法

我可以在这个回答中编写示例代码,但是为了使这个问题与将来的访问者相关,我鼓励您参考哪个会得到更好的维护。我已经读过了,它确实有一些对你有很大帮助的具体例子

编辑: 发布样本代码作为参考

MainPage.XAML

<Grid>
    <Button 
        HorizontalAlignment="Center"
        VerticalAlignment="Center"
        Height="100" Width="250"
        Content="Show Content"
        FontSize="30px"
        x:Name="ContentBtn"
        Click="ContentBtn_Click"/>

    <ContentDialog x:Name="ContentDialog"
        Title="This is an example"
        PrimaryButtonText="Ok"
        CloseButtonText="Cancel"
        DefaultButton="Primary">
    </ContentDialog>
</Grid>

如果你想要一个按钮点击来触发ContentDialog的显示,我想你的XAML中也会有一个按钮,它有一个点击事件(处理ContentDialog的显示)与之关联…嘿。所以我对微软的文档做了一些检查。我能够创建一个ContentDialog。我将第二个示例与“termsOfUseContentDialog”一起使用。我不知道如何根据我的需要更改此代码。我这样做smth(不完整,没有足够的字符):我的cs看起来是这样的:OnOptionItemsTapped(对象发送器,TappedRoutedEventsArgs e){if(Name.Equals(“test”){}我已经用我自己编写和运行的一个例子更新了我的回答,这个例子完全符合您在原始问题中提出的要求。将来询问任何问题时,请避免将代码块作为注释发布,而是选择更新/编辑您的问题,以使其更具可读性。如果是你要找的,请注明答案!谢谢你的帮助。它成功了。也谢谢你的提示general@axbeit记住:为了更清晰的代码/项目结构,您应该在自己的.xaml(and.xaml.cs)中定义ContentDialog。另一个好处是,您可以在多个页面中重用同一个对话框
private async void ContentBtn_Click(object sender, RoutedEventArgs e) {
        await ContentDialog.ShowAsync(); 
    }