[英]How Can I create a Message Box like Groove Music in C#
我需要在消息框中顯示信息,如下所示:
如何創建類似的消息框?
如果您要做的只是創建一個帶有標題,文本內容和可自定義按鈕(命令)的簡單消息框,然后使用MessageDialog類。
private void showDialog()
{
var dialog = new MessageDialog("You have unsaved changes. Continue?", "Warning");
dialog.Commands.Add(new UICommand("OK", handler));
dialog.Commands.Add(new UICommand("Cancel", handler));
dialog.ShowAsync();
}
private void handler(IUICommand command)
{
System.Diagnostics.Debug.WriteLine($"The user clicked {command.Label}");
}
如果您需要更多自定義內容,則需要對ContentDialog類進行子類化。 在解決方案資源管理器>添加>新建項目中右鍵單擊您的項目,然后從列表中選擇“內容對話框”。 您可以使用XAML編輯器來自定義對話框的外觀,選擇要顯示的按鈕,等等。
<ContentDialog
x:Class="App9.MyDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App9"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
PrimaryButtonText="OK"
SecondaryButtonText="Cancel">
<Grid>
<TextBlock TextWrapping="Wrap">
<Run>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed aliquet iaculis sapien, in lacinia sem auctor quis.
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam finibus eu sapien quis
ultricies. In tristique nec magna quis fermentum. Pellentesque elit urna, tincidunt sit amet suscipit non, lacinia
vitae orci. Etiam vel tortor neque.
</Run>
<LineBreak/>
<LineBreak/>
<Run>
Integer dictum tortor at quam feugiat, vel eleifend neque accumsan. Maecenas
pellentesque, augue sed vulputate placerat, erat urna aliquam erat, a posuere mi massa vitae velit. Donec gravida
dui quis tortor semper, vel efficitur leo ultricies. Sed tincidunt ultrices dui, vitae congue purus venenatis a.
Ut aliquam neque leo, a vehicula nisl fermentum elementum. In euismod, erat ac congue fermentum, dui nunc ultrices
tellus, vitae fringilla risus felis at tortor.
</Run>
</TextBlock>
</Grid>
</ContentDialog>
您可以顯示如下對話框:
private async Task displayDialogAsync()
{
var dialog = new MyDialog(); // Whatever you named your ContentDialog subclass
var result = await dialog.ShowAsync();
if (result == ContentDialogResult.Primary)
{
// User clicked OK
}
else if (result == ContentDialogResult.Secondary)
{
// User clicked Cancel
}
}
您不必ContentDialog
即可使用它:
ContentDialog CD_Popup = new ContentDialog();
CD_Popup.Title = "Title";
CD_Popup.Content = "Content";
CD_Popup.PrimaryButtonText = "Primary button text";
CD_Popup.PrimaryButtonClick += (sender, args) =>
{
// Primary button method
};
CD_Popup.SecondaryButtonText = "Secondary button text";
CD_Popup.SecondaryButtonClick += (sender, args) =>
{
// Secondary button method
};
await CD_Popup.ShowAsync();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.