WPF自定义控件颜色属性绑定传递

您所在的位置:网站首页 wpf背景颜色 WPF自定义控件颜色属性绑定传递

WPF自定义控件颜色属性绑定传递

2023-10-19 05:04| 来源: 网络整理| 查看: 265

1.我们知道原生控件的样式、属性都是可以进行各种样式设置,触发器绑定的,比如TextBox控件的触发器绑定

View Code

如果是自己编写的控件,也可以这样使用吗,答案是肯定,但是要做很多准备工作,我们以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里进行一些控件的属性关联绑定

View Code

3.如何像1中TextBox那样是使用属性呢?其实简单的将就是TextBox是一个控件的类别,因为是在同一个框架中,因而省去了命名空间引用,而当我们使用的自定义控件的时候,只要将相应的“命名空间+控件名称”作为一个整体即可;也就是TextBox==“命名空间+控件名称”。

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3