VS编程,WPF中,后台C#创建Telerik颜色选择器,颜色拾取器,调色板的一种方法

之前的文章说过如何通过XAML语言,前台创建颜色拾取器,

这里展示一种后台代码创建颜色调色板的方法。

1、前台的XAML格式

            <telerik:RadColorEditor  Width="500"
                                     SelectedColor="Green"
                                     x:Name="XAML_ColorEditor"
                                     SelectedColorChanged="XAML_ColorEditor_SelectedColorChanged"
                                     ActiveSections="HueSaturationPad,LuminancePad,ColorModesPanel " />

效果:

 

 2、纯后台代码实现,先准备触发的事件和盛放调色板的控件容器

 3、后台C#代码:

创建调色板:

            //创建调色板
            RadColorEditor colorEditor = new RadColorEditor();
            //指定初始颜色
            colorEditor.SelectedColor = Colors.Red;
            //指定显示模式(可不写)
            colorEditor.ActiveSections = ActiveSectionTypes.HueSaturationPad | ActiveSectionTypes.LuminancePad | ActiveSectionTypes.ColorModesPanel;

放在Grid中

            //将调色板放入Grid控件中
            XAML_grid2.Children.Add(colorEditor);

为其增加事件

            //指定调色板的颜色更改事件
            colorEditor.SelectedColorChanged += new EventHandler<ColorChangeEventArgs>(colorEditor1_SelectedColorChanged);

 在事件中设定颜色

 XAML_grid.Background = new SolidColorBrush(Color.FromRgb(e.Color.R, e.Color.G, e.Color.B));

 像这样:

4、运行,点击按钮之后创建调色板

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WPF,可以通过自定义控件的方式来创建一个自定义控件,并在后台代码编写悬浮事件,来改变控件的边框线颜色。具体步骤如下: 1. 创建一个类,继承自Control类(或其它的控件类),例如: ``` public class MyCustomControl : Control { // 在此处添加自定义控件的逻辑 } ``` 2. 在MyCustomControl类添加一个默认构造函数,并在其设置控件的默认样式和模板,例如: ``` public MyCustomControl() { DefaultStyleKey = typeof(MyCustomControl); } ``` 3. 在WPF项目的Themes文件夹下创建一个名为Generic.xaml的文件,并在其定义自定义控件的样式和模板。例如: ``` <Style TargetType="{x:Type local:MyCustomControl}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type local:MyCustomControl}"> <Border x:Name="PART_Border" BorderThickness="1" BorderBrush="Gray"> <ContentPresenter /> </Border> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter TargetName="PART_Border" Property="BorderBrush" Value="Blue" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> ``` 其,Trigger的Property属性设置为IsMouseOver,表示当鼠标悬浮在控件上时触发该Trigger;Value属性设置为True,表示当鼠标悬浮在控件上时触发该Trigger的条件为True。 4. 在MyCustomControl类添加依赖属性,并在属性变化时触发控件的重绘。例如: ``` public static readonly DependencyProperty BorderBrushProperty = DependencyProperty.Register("BorderBrush", typeof(Brush), typeof(MyCustomControl), new PropertyMetadata(Brushes.Gray, OnBorderBrushPropertyChanged)); public Brush BorderBrush { get { return (Brush)GetValue(BorderBrushProperty); } set { SetValue(BorderBrushProperty, value); } } private static void OnBorderBrushPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { var control = (MyCustomControl)d; control.InvalidateVisual(); } ``` 其,OnBorderBrushPropertyChanged方法用于触发控件的重绘,以便更新控件的边框线颜色。 通过以上的步骤,你可以在WPF创建一个自定义控件,并在后台代码编写悬浮事件,改变控件的边框线颜色

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值