首页 新闻 会员 周边 捐助

wpf 该如何从后台获取到前台的控件?

0
悬赏园豆:5 [已解决问题] 解决于 2018-11-13 19:31

目前我前台有一堆的CheckBox
我现在想从后台动态获取
就是
假如有一个方法可以传进来CheckBox的Name
那么,我该如何才能实现像this.Name这样的效果呢?

不想写那么多重复代码。却又不知道该怎么办
我看了CheckBox有一个内置方法,叫FindName
可以我 new CheckBox().FindName(Name)
返回的却又是Null。。。
跪求各位大神支招。。。

临冰听雪丶的主页 临冰听雪丶 | 初学一级 | 园豆:175
提问于:2018-11-13 14:16
< >
分享
最佳答案
0

简单,你想获取控件的什么?ischecked?

举个例子

前台:
checkbox1: ischeck={binding chk1}
checkbox2:ischeck={binding chk1}

后台:
void xxx(bool a,boob);
xxx(chk1,chk2)

思路不是说后台怎么获取前台的数据,而是后台的数据怎么绑定在前台上,只要绑上了,什么数据后台都有

收获园豆:3
猝不及防 | 老鸟四级 |园豆:2878 | 2018-11-13 16:00

多写点,你说数据是导入来的,好,你后台定义一个ObservableCollection用来存储这个数据

后台属性
ObservableCollection<T> List

前台,那你得有一个控件去承载这个集合吧,比如gridview
<gridview itemsource={binding List} ......>

好了,那你这个集合绑上了

猝不及防 | 园豆:2878 (老鸟四级) | 2018-11-13 16:07

@猝不及防: 明白了,谢谢

临冰听雪丶 | 园豆:175 (初学一级) | 2018-11-13 19:29
其他回答(1)
0

你这思路已经错了,与其这样,还不如用回winform。WPF和winform最大区别就是双向绑定,界面和后台的联动是通过数据实现的,界面合后台不用直接关联。

收获园豆:2
会长 | 园豆:12463 (专家六级) | 2018-11-13 14:25

你是说像MVVM那样对吧?
可是我的数据是通过导入的东西来的
而且没有数据库
是用来执行一些cmd的
所以就没有用MVVM的那种模式。。

支持(0) 反对(0) 临冰听雪丶 | 园豆:175 (初学一级) | 2018-11-13 14:28

@临冰听雪丶: 我好像猜到你要表达什么了,是不是界面上的checkbox个数是动态的,是根据数据的多少来确定的?那你就这样:把数据绑定到listbox等列表上,然后自定义列表的模板,把checkbox加入到listbox中的每一项去。

支持(0) 反对(0) 会长 | 园豆:12463 (专家六级) | 2018-11-13 16:40

@会长: 恩恩,我试试,谢谢~

支持(0) 反对(0) 临冰听雪丶 | 园豆:175 (初学一级) | 2018-11-13 19:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册