WPF 自定义 MessageBox 字体大小和前景色
WPF 自定义 MessageBox 字体大小和前景色
WPF 的 MessageBox.Show 方法无法直接更改文本和标题的字体大小和前景色。若要实现自定义 MessageBox 的外观,可以使用 MessageBoxOptions 类中的 DefaultDesktopOnly 和其他枚举选项。但这些选项仅限于更改按钮和图标,无法更改文本和标题的样式。
使用自定义 MessageBox
可以通过创建自定义 MessageBox 类来实现更改文本和标题的字体大小和前景色。以下代码示例展示了如何创建自定义 MessageBox:
public static class CustomMessageBox
{
public static void Show(string message, string caption, int fontSize, Brush foregroundColor)
{
var msgBox = new Window();
msgBox.WindowStyle = WindowStyle.None;
msgBox.ResizeMode = ResizeMode.NoResize;
msgBox.Background = Brushes.White;
msgBox.Width = 400;
msgBox.Height = 200;
msgBox.Topmost = true;
var stackPanel = new StackPanel();
stackPanel.Margin = new Thickness(10, 20, 10, 10);
msgBox.Content = stackPanel;
var textBlock = new TextBlock();
textBlock.Text = message;
textBlock.FontSize = fontSize;
textBlock.Foreground = foregroundColor;
stackPanel.Children.Add(textBlock);
var button = new Button();
button.Content = "OK";
button.Margin = new Thickness(0, 20, 0, 0);
button.Width = 75;
button.Height = 25;
button.HorizontalAlignment = HorizontalAlignment.Center;
button.VerticalAlignment = VerticalAlignment.Bottom;
button.Click += (s, e) => msgBox.Close();
stackPanel.Children.Add(button);
msgBox.ShowDialog();
}
}
使用示例
以下代码示例展示了如何使用自定义 MessageBox:
CustomMessageBox.Show("异常原因:《'str'》不能为空!", "开启端口失败", 14, Brushes.Red);
此代码将创建一个自定义 MessageBox,其中包含指定的消息和标题,以及指定的字体大小和前景色。此 MessageBox 将在关闭前禁用父窗口。
总结
通过创建自定义 MessageBox 类,可以轻松实现 WPF 中 MessageBox 的字体大小和前景色自定义。这可以使你的应用程序界面更加个性化和美观。
原文地址: https://www.cveoy.top/t/topic/nyfI 著作权归作者所有。请勿转载和采集!