内心OS:翻阅了好多大神的博客终于从无到有解决了自己的问题。所以小小记录一下自己的经历。
项目场景:利用封装的AT命令来与目标进行交互,从而得到目标的返回内容,同时对返回内容进行截取筛选(因为需要打印出的是其中部分特定参数)
问题描述
大概的界面就是这样的呀,想要在右下的灰色区域对数据进行打印和操作喽
下面就是框体的实现啦,自己用的比较简单,是利用Grid控件来进行控制的
经历分析:
首先,用过WPF的大家都应该知道,用来打印的列有很多的实现方式,那么我这里使用的是DataGridTextColumn 来对姓名和是否注册来进行打印,具体代码如下:
如上所示,利用Blinding 来关联自己设置的Models中的内容,我自己定义的Model中的参数为Name及state,因此可以用Blinding来进行关联
//一定需要注意的就是要在DataGrid中也加入上述Blinding所关联的Models的空间才行
打印出来大概就是这样啦
打印出来大概就是这样啦,打印这里是经过了很多的截取和裁剪的,若有需要具体可以搜索对字符串的截取自己画图研究哦,一定一定要画图才行。
在打印行中加入Button按钮进行事件绑定:
这里当初卡住了太长时间,主要是不知道如何在DataGrid.Columns加入Button按钮,后面通过搜索大神的博客内容最终找到的解决方式如下:
在这里就是创建了两个Button按钮来进行激活以及去激活对象, 同样在其中就加入了Active_Click及Deactive_ClickButton 对象,那么久需要对其这两个绑定事件进行实现。
具体的代码就不罗列了,毕竟是有条例的,但是这个部分有一个点需要列出:
利用Button按钮来获取本行的参数名及内容。那么就可以利用Button来对本行的参数进行事件改进或更新,在使用时候参考了很多种办法,但是最后还是同事给我这纯小白安利了一种:
mbnName = SatteliteFirelList[gridTotal.SelectedIndex].Name;
mnbState = SatteliteFirelList[gridTotal.SelectedIndex].state;
这里就是用自我定义的变量,从之前说的Model的空间中进行获取,具体的方法如上:SatteliteFirelList为空间,[gridTotal.SelectedIndex]为获取方式,后面的Name及state就是具体的参数类型名称了,也就可以用此方法来对本行的参数进行获取,同事也不需要定义新的事件了(逼近Button只有两个内置参数,不能够再次传入新参)。
具体的实现效果也给大家放出来:
具体效果就如图了哦,小白的第一次实现,希望对大家有所帮助喽!!!



