本文参考http://www.codeproject.com/KB/WPF/ColorPicker2010.aspx
最近做项目遇到一个问题,要使用到颜色对话框,可是在WPF中没有 ColorDialog,在WinForm中有ColorDialog对象,可以使用此对象来实现颜色的选择
具体实现方法如下:
//创建对象 ColorDialog colorDialog = new ColorDialog(); //允许使用该对话框的自定义颜色 colorDialog.AllowFullOpen = true; colorDialog.FullOpen = true; colorDialog.ShowHelp = true; //初始化当前文本框中的字体颜色, colorDialog.Color = Color.Black; //当用户在ColorDialog对话框中点击"取消"按钮 colorDialog.ShowDialog();
如果想要在WPF中使用此对象,只要引用System.Window.Form这个命名空间就可以了
在WPF界面中,引入ColorPicker.dll这个动态链接库就可以使用了
<Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525" xmlns:uc="clr-namespace:ColorPicker;assembly=ColorPicker"> <Window.Background> <SolidColorBrush Color="{Binding SelectedColor, ElementName=ColorPicker}"/> </Window.Background> <StackPanel Name="grid"> <uc:ColorComboBox Height="100"/> <uc:ColorPicker Height="100" x:Name="ColorPicker" SelectedColor="White"/> </StackPanel> </Window>
界面的Background绑定了选择的颜色
运行起来的界面如下