本文参考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绑定了选择的颜色
运行起来的界面如下