WPF 使用自定义控件库CustomControl实现控件在其他项目使用
介绍
本文的目的旨在记录在WPF项目中如何使用自定义控件库CustomControlLibrary实现自定义控件在别的
项目使用以及将自定义控件添加到工具箱。
操作流程
使用VS2019创建自定义用户控件库
创建一个新项目,由于我是在.Net FrameWork平台下所以是中文。如果是.Net Core则显示的是CustomControlLibrary。点下一步进入配置新项目页面,由自己设置。
在创建的自定义控件项目中添加你的代码
如下图所示,我会另外写一篇文章记录下我图中所实现的WPF 继承Label控件实现文字左右滚动显示完整代码以及详细使用流程(拿来就能用)的代码。点击蓝色的文字就可以跳转。
如图在项目中自动生成了一个CS文件以及\Themes\Generic.xaml文件。
在CustomControl的后台代码CS文件中我们需要写出自己的控件代码,而\Themes\Generic.xaml文件则是自动生成的自定义控件的默认Style样式,我们可以在这里重写我们需要的样式。
这一行就是将\Themes\Generic.xaml与我们自己写的控件关联的代码。当然你也可以把这行注释掉使用父类的默认样式。
上图中所圈出的代码ToolboxBitmap参数代表要封装的目标控件名,由于我是继承的Label,所以可以写Label在里面。
生成解决方案并添加到其他WPF项目中
当你完成所需要实现的控件逻辑后,就可以生成解决Release版本的解决方案了。你可以在如下图所示的项目路径找到DLL文件。
然后在你想添加自定义控件的项目中添加引用,如下图所示。
点击浏览,找到你之前生成的自定义控件项目的DLL文件,点击添加。
就出现在你的项目中了。接下来你还需要在要用到该控件的XAML窗体里添加一些额外的XAML代码。我们在Window元素里添加图中一行。
xmlns:myTool="clr-namespace:LabelTextAutoScrollShow;assembly=LabelTextAutoScrollShow"
<!--myTool可以由你自己命名,clr-namespace则是你定义的控件名称空间。-->
<StackPanel>
<myTool:LabelTextAutoScrollShow x:Name="Tool" RunSpeed="400" Content="花都爱的湖出发圣德芬和重复打" ></myTool:LabelTextAutoScrollShow>
<myTool:LabelTextAutoScrollShow BScroll="True" Content="dw9kid0ef"></myTool:LabelTextAutoScrollShow>
<!--在XAML中像这样使用控件-->
</StackPanel>
最后,如果你想添加到VS2019左侧侧边栏工具箱的话,还需要手动添加。
点击浏览后文件路径下找到自定义控件的DLL文件,添加就完成了。