操作模板控件

 在做WPF开发的时候,我们通常因为满足不同的需求会开发一些自定义控件来满足需要,我们会自定义模板来定义控件的外观,添加命令和路由事件来给控件添加行为,那如何在模板中查找元素并关联事件处理程序或添加数据绑定表达式呢,WPF有一个专用的OnApplyTemplate()方法,在该方法中,可以使用GetTemplateChild或FindName来查找所需的元素。

添加部件名称

  为了查找做需要的元素,WPF控件通过名称定为他们需要的元素,所以,元素的名称变成了自定义控件公有接口的一部分,并且需要恰当的描述性名称。为此。WPF给出了约定:这些名称以PART_开头,后跟元素名称。元素名称的首字母要大写,就像一个属性名称:比如PART_Slider。

<Slider Name="PART_Slider" Minimum="0" Minimum="255" Margin="{TemplateBinding padding}"></Slider>
        public override void OnApplyTemplate()
{
base.OnApplyTemplate(); RangeBase sliderRed = GetTemplateChild("PART_Slider") as RangeBase;
if (sliderRed != null)
{
Binding binding = new Binding("Red");
binding.Source = this;
binding.Mode = BindingMode.TwoWay;
sliderRed.SetBinding(RangeBase.ValueProperty, binding);
}
        ..............
}

最新文章

  1. 二叉树的遍历(递归,迭代,Morris遍历)
  2. Shell 小技巧的问题 mysql -e ,字符串替换telnet命令检测
  3. mysql 根据生日计算年龄,并查询在18-25之间的语句
  4. swift-网络请求
  5. iOS10相机等崩溃
  6. 学习使用crosswalk
  7. HTML5 CSS3 精美案例 : 达到VCD盒个性幻灯片
  8. schema for clojure
  9. ABP展现层——动态生成WebApi
  10. MySQL安装指南
  11. iOS基础 - iOS程序启动原理
  12. 学习node的REPL
  13. php 高并发下数据同步的问题
  14. 『NOIP2018普及组题解』
  15. Java EE开发技术课程
  16. django之关联field 描述子
  17. Ubuntu允许root远程登录配置
  18. 【优秀的Sketch插件】PaintCode for Sketch for Mac 1.1
  19. 【UNIX网络编程(三)】TCP客户/server程序演示样例
  20. BBC曝光:每天10000步,竟是商家的营销骗局

热门文章

  1. js 时间戳 和 格式化时间转化
  2. (转) 使用vivado创建工程 2
  3. 介绍 JSON (转)
  4. $(window).load与$(document).ready的区别
  5. 数学:随机素数测试(Miller_Rabin算法)和求整数素因子(Pollard_rho算法)
  6. HEXO与Github.io搭建个人博客
  7. 《Troubleshooting SQL Server》读书笔记-CPU使用率过高(上)
  8. 使用webpack配置react并添加到flask应用
  9. sqlite3在Linux下的安装和使用
  10. 内存不够清理方法,costdown项目时如果裁剪不下来,也可以参考