原文:【WPF学习】第六十二章 构建更复杂的模板

在控件模板和为其提供支持的代码之间又一个隐含约定。如果使用自定义控件模板替代控件的标准模板,就需要确保新模板能够满足控件的实现代码的所有需要。 在简单控件中,这个过程比较容易,因为对模板几乎没有 或完全没有 什么真正的需求。对于复杂控件,问题就显得有些微妙了,因为控件的外观和实现不可能完全相互独立的。对于这种情况,控件需要对其可视化显示做出一些假设,而不管曾经被设计的多好。 在前面已经看到了控件 ...

2020-04-07 18:22 0 774 推荐指数:

查看详情

WPF学习第六十四章 构建基本的用户控件

  创建一个简单用户控件是开始自定义控件的好方法。本章主要介绍创建一个基本的颜色拾取器。接下来分析如何将这个控件分解成功能更强大的基于模板的控件。   创建基本的颜色拾取器很容易。然而,创建自定义颜色拾取器仍是有价值的联系,因为这不仅演示了构建控件的各种重要概念,而且提供了一个实用的功能 ...

Wed Apr 08 21:16:00 CST 2020 1 807
WPF学习第六十章 创建控件模板

  经过数十天的忙碌,今天终于有时间写博客。   前面一通过介绍有关模板工作方式相关的内容,同时介绍了FrameWorkElement下所有控件的模板。接下来将介绍如何构建一个简单的自定义按钮,并在该过程中学习有关控件模板的一些细节。   通过上一内容,基本Button控件使用 ...

Sat Apr 04 04:11:00 CST 2020 0 803
WPF学习第六十五章 创建无外观控件

  用户控件的目标是提供增补控件模板的设计表面,提供一种定义控件的快速方法,代价是失去了将来的灵活性。如果喜欢用户控件的功能,但需要修改使其可视化外观,使用这种方法就有问题了。例如,设想希望使用相同的颜色拾取器,但希望使用不同的“皮肤”,将其更好地融合到已有的应用程序窗口中。可以通过样式来改变用户 ...

Thu Apr 09 04:21:00 CST 2020 0 1035
WPF学习第六十七章 创建自定义面板

  前面两个章节分别介绍了两个自定义控件:自定义的ColorPicker和FlipPanel控件。接下来介绍派生自定义面板以及构建自定义绘图控件。   创建自定义面板是一种特殊但较常见的自定义控件开发子集。前面以及介绍过有关面板方面的知识,了解到面板驻留一个或多个子元素,并且实现了特定的布局逻辑 ...

Wed Apr 22 05:37:00 CST 2020 1 943
第六十二篇、AFN3.0封装网络请求框架,支持缓存

1.网络请求 第一种实现方式:   功能:GET POST 请求 缓存逻辑:   1.是否要刷新本地缓存,不需要就直接发起无缓存的网络请求,否则直接读取本地数据   2.需要刷新本地缓存,先 ...

Mon Oct 17 08:54:00 CST 2016 0 2157
WPF学习】第十二章 属性验证

  在定义任何类型的属性时,都需要面对错误设置属性的可能性。对于传统的.NET属性,可尝试在属性设置器中捕获这类问题。但对于依赖项属性而言,这种方法不合适,因为可能通过WPF属性系统使用SetValue()方法直接设置属性。   作为代替,WPF提供了两种方法来阻止非法值 ...

Sat Jan 25 03:19:00 CST 2020 0 286
WPF学习第六十三章 理解WPF中的自定义元素

  尽管可在任意WPF项目中编写自定义元素,但通常希望在专门的类库程序集(DLL)中放置自定义元素。这样,可在多个WPF应用程序之间共享自定义元素。   为确保具有正确的程序集引用和名称空间导入,当在Visual Studio中创建应用程序时,应当选择Custom Control Library ...

Wed Apr 08 05:17:00 CST 2020 2 478
WPF学习第六十六章 支持可视化状态

  上一介绍的ColorPicker控件,是控件设计的最好示例。因为其行为和可视化外观是精心分离的,所以其他设计人员可开发动态改变其外观的新模板。   ColorPicker控件如此简单的一个原因是不涉及状态。换句话说,不根据是否具有焦点、鼠标是否在它上面悬停、是否禁用等状态区分其可视化 ...

Mon Apr 13 06:16:00 CST 2020 4 905
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM