网站建设服务的风险,WordPress 如何去域名授权,广州冼村保利天御,wordpress sql 查询WPF 并没有内置FontDialog和ColorDialog#xff0c;但可以通过引用 Windows Forms 的控件来实现字体和颜色选择对话框功能。FontDialog 允许用户选择字体、样式、大小等设置。
添加 Windows Forms的引用
项目工程#xff1a;右键“引用”》“添加引用”》勾选System.Window…WPF 并没有内置FontDialog和ColorDialog但可以通过引用 Windows Forms 的控件来实现字体和颜色选择对话框功能。FontDialog 允许用户选择字体、样式、大小等设置。
添加 Windows Forms的引用
项目工程右键“引用”》“添加引用”》勾选System.Windows.Forms 浏览选择System.Windows.Forms.dll动态库文件 默认路径C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework 3.添加成功
在C# WPF应用程序中不能直接使用System.Drawing.Font因为System.Drawing.Font是Windows Forms的一部分而不是WPF。WPF使用System.Windows.Media.FontFamily来表示字体。需要做相应的转换才可以使用WinForm中的Color( System.Drawing.Color)与Wpf中Color(System.Windows.Media.Color)也需要要相互转换才能使用
代码示例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Forms;namespace WpfColorFontDialog
{/// summary/// MainWindow.xaml 的交互逻辑/// /summarypublic partial class MainWindow : Window{public MainWindow(){InitializeComponent();}private void btnSetFont_Click(object sender, RoutedEventArgs e){System.Windows.Forms.FontDialog fontDialog new System.Windows.Forms.FontDialog();if (fontDialog.ShowDialog() System.Windows.Forms.DialogResult.OK){// System.Drawing.Font DFont new System.Drawing.Font(宋体, 10, System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic);System.Drawing.Font drawingFont fontDialog.Font;FontFamily fontFamily new FontFamily(drawingFont.Name);double fontSize drawingFont.Size;FontWeight fontWeight FontWeights.Bold;if (drawingFont.Bold){fontWeight FontWeights.Bold;}else {fontWeight FontWeights.Normal;}FontStyle fontStyle (drawingFont.Style System.Drawing.FontStyle.Italic) ! 0 ? FontStyles.Italic : FontStyles.Normal;txtBlock.FontFamily fontFamily;txtBlock.FontSize fontSize;txtBlock.FontStyle fontStyle;txtBlock.FontWeight fontWeight;}}private void btnSetColor_Click(object sender, RoutedEventArgs e){System.Windows.Forms.ColorDialog colorDialog new System.Windows.Forms.ColorDialog();if (colorDialog.ShowDialog() System.Windows.Forms.DialogResult.OK){System.Windows.Media.Color MColor new System.Windows.Media.Color();MColor System.Windows.Media.Color.FromArgb(colorDialog.Color.A, colorDialog.Color.R, colorDialog.Color.G, colorDialog.Color.B);System.Windows.Media.Brush BColor new SolidColorBrush(MColor);txtBlock.Background BColor;}}}
}