UserControl

  1. 将多个WPF控件(例如:TextBox,TextBlock,Button)进行组合成一个可复用的控件组;
  2. 由XAML和Code Behind代码组成;
  3. 不支持样式/模板重写;
  4. 继承自UserControl;

例如当需要界面切换时,可以将多个TextBox封装到一起为一个UserControl,然后进行加载。UserControl可以理解为多个控件的组合。

CustomControl

  1. 自定义控件,扩展自一个已经存在的控件,并添加新的功能/特性;
  2. 由C#/VB.NET Code和样式文件组成(Themes/Generic.xaml);
  3. 支持样式/模板重写;
  4. 如果项目中自定义控件较多,建议创建一个WPF自定义控件库(WPF Control Library);

当你需要基于WPF的基础上对原有的控件进行拓展,例如你需要将TextBox新增一些特性时,就可以使用CustomControl.

UserControl和CustomControl两者区别的更多相关文章

  1. [WPF] UserControl vs CustomControl

    介绍 WPF中有两种控件:UserControl和CustomControl,但是这两者有什么区别呢?这篇博客中将介绍两者之间的区别,这样可以在项目中合理的使用它们. UserControl 将多个W ...

  2. UserControl和CustomControl基础【PluraSight】

    UserControl UserControl实际上就是ContentControl,xaml里<UserControl></UserControl>tag之间包含的实际就是后 ...

  3. WPF之路——用户控件对比自定义控件UserControl VS CustomControl)

    将多个现有的控件组合成一个可重用的“组”. 由一个XAML文件和一个后台代码文件. 不能使用样式和模板. 继承自UserControl类. 自定义控件(扩展) 在现有的控件上进行扩展,增加一些新的属性 ...

  4. WPF中用户控件对比自定义控件(UserControl VS CustomControl)

    接着这篇文章(http://www.cnblogs.com/shiyue/archive/2013/02/02/2889907.html)写: 用户控件(组合) 用于在一个项目中使用多次 自定义控件( ...

  5. 在WPF中自定义控件

    一, 不一定需要自定义控件在使用WPF以前,动辄使用自定义控件几乎成了惯性思维,比如需要一个带图片的按钮,但在WPF中此类任务却不需要如此大费周章,因为控件可以嵌套使用以及可以为控件外观打造一套新的样 ...

  6. 在WPF中自定义控件(1)

    原文:在WPF中自定义控件(1)    在WPF中自定义控件(1):概述                                                   周银辉一, 不一定需要自定 ...

  7. wpf学习

    http://www.jikexueyuan.com/course/1231_3.html?ss=1 WPF入门教程系列二——Application介绍 http://www.cnblogs.com/ ...

  8. UWP开发砸手机系列(一)—— Accessibility

    因为今天讨论的内容不属于入门系列,所以我把标题都改了.这个啥Accessibility说实话属于及其蛋疼的内容,即如何让视力有障碍的人也能通过声音来使用触屏手机……也许你这辈子也不会接触,但如果有一天 ...

  9. Silverlight 用DependencyProperty 自定义ImageButton控件 定义属性

    为ImageButton自定义IconSource和Contents属性 xaml代码 <UserControl x:Class="SilverlightCreate.Silverli ...

随机推荐

  1. 发送微信通知 java 实现

    /实现类 @Service public class WeChatServiceImpl implements IWeChatService { @Override public WeChatSend ...

  2. java中根据后端返回的数据加载table列表

    <%//引入 js @ page language="java" pageEncoding="UTF-8"%> <!DOCTYPE HTML& ...

  3. Keras使用多个GPU并行

    model = Model(inputs=[v_i, v_j], outputs=output_list) model = multi_gpu_model(model,4) model.compile ...

  4. 数据库零基础之---了解数据库的事务[ACID]

    事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 我们先举一个例子来描述一下事务: 假设要张三通过银行给李四进行转账1000元钱,张三原有余额10000元整,李四有人民币 ...

  5. Jquery真的不难~第一回 编程基础知识

    Jquery真的不难~第一回 编程基础知识   回到目录 前言 说Jquery之前,先来学习一下Javascript(以后简称为JS)语言中的基础知识问题,其时对于每种编程语言来说基础知识都是大同小异 ...

  6. 解决使用Navicat等工具进行连接登录mysql的1130错误,无法使用Ip远程连接的问题(mysql为8.0版本)

    错误:ERROR 1130: Host '192.168.1.3' is not allowed to connect to thisMySQL serve 错误1130:主机192.168.1.3& ...

  7. TurtleBot3使用课程-第二节b(北京智能佳)

    目录 1.导航 2 1.1 运行导航节点 3 1.1.1 [远程PC]运行roscore 3 1.1.2 [turtlebot3 SBC]运行提出turtlebot3 3 1.1.3[远程PC]运行导 ...

  8. CentOS 7 网卡注释

    TYPE=Ethernet # 网络类型为:EthernetPROXY_METHOD=none # 代理方式:关闭状态BROWSER_ONLY=no # 只是浏览器:否BOOTPROTO=static ...

  9. 腾讯消息队列CMQ部署与验证

    环境 IP 备注 192.168.1.66 node1 前置机 192.168.1.110 node2 192.168.1.202 node3 架构图 组件介绍 组件 监听端口 access 1200 ...

  10. mysql 连接url中需要添加useUnicode=true&characterEncoding=UTF-8

    下面是示例: 数据库中Username是张三 在数据库配置时没有配置编码  useUnicode=true&characterEncoding=UTF-8 导致期望与实际不同 配置useUni ...