WPF自定义控件颜色属性绑定传递 |
您所在的位置:网站首页 › wpf背景颜色 › WPF自定义控件颜色属性绑定传递 |
1.我们知道原生控件的样式、属性都是可以进行各种样式设置,触发器绑定的,比如TextBox控件的触发器绑定 ![]() ![]() 如果是自己编写的控件,也可以这样使用吗,答案是肯定,但是要做很多准备工作,我们以UserControl制作一个控件为例 2.要实现属性一定跟跟原来的属性名称保持一致,因为属性的名称跟自定义控件的原生属性重名,所有使用New关键字进行控制 public new static readonly DependencyProperty ForegroundProperty = DependencyProperty.Register("Foreground", typeof(Brush), typeof(DatasPickerView), new PropertyMetadata(Brushes.Black, OnForegroundPropertyChanged));//最后一行new PropertyMetadata 新增于201812191930 为了颜色改变时 立即通知刷新 姜彦 public new Brush Foreground { set { SetValue(ForegroundProperty, value); } get { return (Brush)GetValue(ForegroundProperty); } } private static void OnForegroundPropertyChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args) { DatasPickerView VoluationCellView = obj as DatasPickerView; //VoluationCellView.btnDatas.Foreground = (Brush)args.NewValue; VoluationCellView.Foreground = (Brush)args.NewValue; }自定义控件View端xaml里进行一些控件的属性关联绑定 ![]() ![]() 3.如何像1中TextBox那样是使用属性呢?其实简单的将就是TextBox是一个控件的类别,因为是在同一个框架中,因而省去了命名空间引用,而当我们使用的自定义控件的时候,只要将相应的“命名空间+控件名称”作为一个整体即可;也就是TextBox==“命名空间+控件名称”。
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |