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 的字体大小和前景色自定义。这可以使你的应用程序界面更加个性化和美观。

WPF 自定义 MessageBox 字体大小和前景色

原文地址: https://www.cveoy.top/t/topic/nyfI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录