项目源码地址:https://github.com/lizhiqiang0204/WpfControlLibrary.git

首先创建新项目->WPF用户控件库项目

在UserControl1.xaml文件中添加两个标准控件Button和Label,并且添加按键单击处理事件

<Button Content="用户Button" HorizontalAlignment="Left"  VerticalAlignment="Top" Width="76" Margin="72,3,0,0" Click="Button_Click"/>
<Label Content="用户Label" HorizontalAlignment="Left" VerticalAlignment="Top"/>

private void Button_Click(object sender, RoutedEventArgs e)
{
  MessageBox.Show("你好!");
}

右击WpfControlLibrary项目生成WpfControlLibrary.dll控件库文件

右击解决方案->添加->新建项目,选择WPF应用,项目名为WpfApp,右键设为启动项目

右击引用->添加引用

选择我们刚才生成的WpfControlLibrary.dll控件库文件

此时展开引用就可以看到该控件了

打开MainWindow.xaml文件,在工具箱拖拽刚才生成的控件到前端设计器里面

运行单击按键查看效果

如果我们修改用户控件项目下UserControl1.xaml.cs里的按键处理事件

        private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("你好用户控件!");
}

编译生成用户控件项目WpfControlLibrary,再启动运行WpfApp应用程序,查看效果

因此,我们可以不用修改应用程序,修改用户控件库就能达到效果的改变。

WPF 创建用户控件并引用的更多相关文章

  1. wpf创建用户控件(计时器控件)

    在vs中新增用户控件 前台xaml如下代码: <UserControl x:Class="Zh.SelfServiceEquipment.UI.ZhControls.CountDown ...

  2. 在用户控件(ASCX)创建用户控件(ASCX)

    "我建了两个ascx,ascxA,ascxBascxA中放了一个PlaceHold,ascxB中放了一个textBoxascxA在page_load中动态创建了5个ascxB但是页面上什么都 ...

  3. 浅尝辄止WPF自定义用户控件(实现颜色调制器)

    主要利用用户控件实现一个自定义的颜色调制控件,实现一个小小的功能,具体实现界面如下. 首先自己新建一个wpf的用户控件类,我就放在我的wpf项目的一个文件夹下面,因为是一个很小的东西,所以就没有用mv ...

  4. 【WPF】WPF开发用户控件、用户控件属性依赖DependencyProperty实现双向绑定、以及自定义实现Command双向绑定功能演示

    前言: Wpf开发过程中,最经常使用的功能之一,就是用户控件(UserControl)了.用户控件可以用于开发用户自己的控件进行使用,甚至可以用于打造一套属于自己的UI框架.依赖属性(Dependen ...

  5. WPF MVVM 用户控件完成分页

    项目中经常会有分页查询的情况,在WPF中我们可以通过用户控件完成分页 一下为分页控件的页面代码, <UserControl x:Class="Foundation.UCtrl.Next ...

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

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

  7. WPF自定义用户控件不显示

    1,Themes\Generic.xaml最好不要更名 "Generic.xaml"这个名称并非偶然通过上面的叙述,你可能会有冲动将Generic.xaml中的Style代码剪切出 ...

  8. wpf中用户控件的属性重用

    我们经常会抽取一些可重用的控件,某个属性是否需要重用,直接决定了这个属性的绑定方式. 1.完全不可重用的控件 有一些与业务强相关的控件,它们的属性完全来自ViewModel,越是相对复杂的控件,越容易 ...

  9. C#创建用户控件 - IPv4地址输入框

    根据网上的改写:http://blog.csdn.net/jhqin/article/details/5823363 控件属性: Text:获取或设置string类型的IP地址 Value:获取或设置 ...

随机推荐

  1. 自学python 第三天

    #!/usr/bin/env python# -*- coding:utf-8 -*- # name = "***"# if "*" in name:# pri ...

  2. HDU 2795 Billboard (线段树+贪心)

    手动博客搬家:本文发表于20170822 21:30:17, 原地址https://blog.csdn.net/suncongbo/article/details/77488127 URL: http ...

  3. 【ACM】hdu_1862_EXCEL排序_201308091948

    EXCEL排序 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  4. JavaFX本地应用自己主动更新功能的实现FXLauncher

    JavaFX本地应用自己主动更新功能的实现--FXLauncher 作者:chszs,未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 一. ...

  5. 数学之路-python计算实战(4)-Lempel-Ziv压缩(2)

    Format characters have the following meaning; the conversion between C and Python values should be o ...

  6. Android ListView拉到顶/底部,像橡皮筋一样弹性回弹复位

     <Android ListView拉到顶/底部,像橡皮筋一样弹性回弹复位> Android本身的ListView拉到顶部或者底部会在顶部/底部边缘间隙出现一道"闪光&quo ...

  7. 弗拉特利定律:Illumina怎样缔造基因革命

    蕾妮·瓦林特(Renee Valint)的女儿谢尔碧(Shelby)在2000年出生时.看起来虚弱无力,就如同一仅仅耷拉着的布娃娃.谢尔碧学着走路和说话,但学得很慢.错过了儿童发展的重要阶段.到4岁时 ...

  8. Android代码宏控制方案 【转】

    本文转载自:http://blog.sina.com.cn/s/blog_769500f001017ro6.html 目前107分支上,在各项目projectConfig.mk中已添加项目宏以及客户宏 ...

  9. DNS通道检测 国内学术界研究情况——研究方法:基于特征或者流量,使用机器学习决策树分类算法居多

    http://xuewen.cnki.net/DownloadArticle.aspx?filename=BMKJ201104017&dbtype=CJFD<浅析基于DNS协议的隐蔽通道 ...

  10. hdoj--1829--A Bug's Life(带权并查集)

    A Bug's Life Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) To ...