UWP 对话框就像使用 C# 的图像

UWP Dialog like the image using C#

我尝试了 Flyout :

<AppBarButton Label="About Us" Tapped="appbarButton_Click">
    <AppBarButton.Icon>
        <BitmapIcon UriSource="ms-appx:///Assets/Icons/info.png"/>
    </AppBarButton.Icon>
    <AppBarButton.Flyout>
        <Flyout >
            <TextBlock Text="Hello User" HorizontalAlignment="Stretch" VerticalAlignment="Center"/>
        </Flyout>
    </AppBarButton.Flyout>
</AppBarButton>

但是,弹出按钮始终位于按钮附近的某个位置。所以我不能用它。

我试过了MessageDialog。但是它们不占据全屏宽度。他们似乎也没有调整宽度的选项。

var dialog = new Windows.UI.Popups.MessageDialog("Hello User");
await dialog.ShowAsync();

我已将注意力集中在 ContentControlContentDialog 上。

var cd = new ContentDialog();
cd.HorizontalAlignment = HorizontalAlignment.Stretch;
cd.Content = "Hello User";
await cd.ShowAsync();

然而,即使在设置水平对齐方式以拉伸对话框后,对话框也只占据屏幕的一部分。

我想在占据整个屏幕 width 和部分 height 的对话框中向用户显示一条消息(如图所示)。如果用户在对话框外单击,对话框将关闭。

您可以为此创建一个用户控件。设置它的宽度和高度以覆盖全屏并设置对话框或任何你想要的内容。

我遇到了同样的问题,并使用 callisto 中的 CustomControl 解决了这个问题。您不需要整个工具包,只需以下 类:

  • 动态文本块
  • 颜色对比度转换器
  • 自定义对话框
  • CustomControlGeneric

从那里,您可以使用您喜欢的每个控件并将其放入您的对话框中,例如: