欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

WPF——用户控件、自定义控件之组合查询

程序员文章站 2022-06-07 09:55:55
...

什么是用户控件和自定义控件

用户控件:简单来说就是可以把WPF的控件将多个组合到一起弄成一个控件。当然可以写代码了。也可以给这个组合而成的控件加方法和字段。

特点:不能使用样式和模板,继承UserControl类。但是这个控件组的里面的控件的值得获取和属性的改变都需要自己编写好。

自定义控件:(没有尝试过,参考网上)
可以在现有的控件上面进行扩展,增加新的属性和方法。
有一个代码文件和一个默认的主题文件。
可以使用样式和模板
构建控件库的好方法

为什么要使用用户控件?

额,因为如果使用模板方法,WPF的窗体的继承窗体会总是报错。而且被继承的窗体不能有xmal文件。也就是不能有控件。所有我就使用用户控件代替模板方法。

组合查询之用户控件+存储过程

第一步就是要建立存储过程
在SQL server里面建立组合查询:
注意点:组合查询的后面的两组可能为空值,所有要建立成可以为Null的类型。
里面的char(39)是ASCII里面的单引号,char(32)是空格

create procedure PROC_GroupFindCheck
@Filed1 nvarchar(10),
@Filed2 nvarchar(10)=NULL,
@Filed3 nvarchar(10)=NULL,
@Mark1 nvarchar(2),
@Mark2 nvarchar(2)=NULL,
@Mark3 nvarchar(2)=NULL,
@Content1 nvarchar(30),
@Content2 nvarchar(30)=NULL,
@Content3 nvarchar(30)=NULL,
@Relationship1 nvarchar(5)=NULL,
@Relationship2 nvarchar(5)=NULL,
@DbtableName nvarchar(20)
as
	declare @TempSql nvarchar(500)
BEGIN
	SET @TempSql='SELECT * FROM '+@DbtableName+' WHERE '+@Filed1+@Mark1+char(39)+@Content1+char(39)
	if(@Relationship1!=NULL)
	BEGIN
		SET @TempSql=@TempSql+@Relationship1+char(32)+@Filed2+@Mark2+char(39)+@Content2+char(39)
		if(@Relationship2!=NULL)
		BEGIN
			SET @TempSql=@TempSql+@Relationship2+char(32)+@Filed3+@Mark3+char(39)+@Content3+char(39)
		END
	END
ExECUTE(@TempSql)
END

其次建立实体。
先看自考去了。回来在写