作者:孙英鹏 撰写时间:2019年6月7日
学了这么久的知识,我们学会了MVC里的下拉框绑定,对于XAML里的下拉框绑定是怎么绑,我们来学习一下。(我是以绑定员工信息为例子)
要绑定下拉框先要获取数据,数据来源于数据库,所以第一步是在数据库里写,打开SQL Server 2014 Management Studio,在你的数据库表里找到可编程性里的储存过程,点击右建点击储存过程(看图1),开始编写下拉框绑定的查询语句,把储存过程里面的自定义代码删掉,只留下基本的代码就行了。
图1:
第二步:写查询下拉框信息。先写一个IF在里面写上一个查询名字,然后写上BEGIN(开始)和END(结束),紧接着就是写查询语句,首先点击右键,在点击在编辑器中设计查询,将会弹出一个页面,在里面找到员工表的员工姓名和员工ID,踢上钩点击确认,员工姓名和员工ID就会出来,然后运行一下,查询出来的数据有空格,所以我们要去一下空格,去空格的单词是RTRIM,把员工姓名包裹在RTRIM里面,为了方便编写名称,可以把名称缩短化,变成简单的名称,写完之后要执行,如果有其他的条件,就要加上WHERE语句,然后查询语句就完成了。
图2:
第三步:由于XAML是有分服务端和客户端,我们要在服务端里写上查询员工信息数据,首先在BLL里写上逻辑代码(我的项目服务端有三个命名,分别是BLL、DAL、WcfService),先新建一个类,由于新建的类是没有访问修饰符,我们给它加上访问修饰符PUBLIC,接着我们要调用服务,要引用一个应用程序集ServiceModel,接下来要定义服务协议ServiceContract(一个服务契约里面可拥有多个操作契约),然后引用它,并实例化数据层,然后在下面先定义操作契约OperationContract,然后在实例化对象数组(序列化参数),定义传递参数,以及传递参数的类型,然后在获取执行的存储过程名称,并返回值,写完要运行一下。(看图3,红1是获取数据库的查询语句IF名称,红2是获取数据库的查询语句的最上面的名称)
图3:
第四步:接下来我们要配置服务,是在WcfService配置。首先点击Web,然后右键点击WPF配置,弹出窗口之后,点击服务,然后在点击新建服务会弹出窗口,然后浏览找出你在BLL编写的代码,点击确定,然后复制名称(因为后面会用到),点击下一步,下一步,直到终结地址停下,把地址删掉让它空白,然后下一步保存。然后终结点要保持名称一致,把复制名称粘贴上去。然后把服务行为归类到BLL里面(因为是在BLL编写的代码),然后新建工厂,点击高级下面的宿主环境,有三个点击最下面的serviceActivations,然后点击新建,我们只需要配置上面两个服务就好了,把复制名称粘贴上去,第一个要在后面加上 .svc然后复制名称,然后关闭保存,运行服务端会出现页面,在页面地址后面加上斜杆和把刚才的复制名称加上去,点击确定看一下是否配置成功,成功之后在客户端创建服务,点击右键找到添加服务引用,把.svc的地址复制在上面,点击确定就行了。
第五步:我们查询下拉框是在页面一进去就要查询出来,所以我们要在页面里写上Loaded事件并转到定义,接下来就是编写客户端代码,先把表格接受过来,声明一个DataTable接受数据,然后实例化服务,绑定数据源、id选中值、name显示值,就完成了绑定下拉框。
图4: