WPF 如何设计ComboxTree控件

鏡椛氹鈅 2016-05-13 04:38:07
希望大神指点下如何修改Combox的模版将Treeview控件和Combox控件结合起来
...全文
252 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
exception92 2016-06-05
  • 打赏
  • 举报
回复
引用 8 楼 u012804018 的回复:
[quote=引用 7 楼 duanzi_peng 的回复:] 这个是 下拉 DataGrid的,你可以仿着改改。 http://www.codeproject.com/Articles/43074/WPF-Custom-ComboBox
我问下,如果我想封装到控件库,是继承微软自己的Combox好呢,还是做用户控件好一些[/quote] 当然是继承。重新设定它的 items 样式。
鏡椛氹鈅 2016-05-18
  • 打赏
  • 举报
回复
引用 7 楼 duanzi_peng 的回复:
这个是 下拉 DataGrid的,你可以仿着改改。 http://www.codeproject.com/Articles/43074/WPF-Custom-ComboBox
我问下,如果我想封装到控件库,是继承微软自己的Combox好呢,还是做用户控件好一些
exception92 2016-05-17
  • 打赏
  • 举报
回复
这个是 下拉 DataGrid的,你可以仿着改改。 http://www.codeproject.com/Articles/43074/WPF-Custom-ComboBox
为轮子而生 2016-05-15
  • 打赏
  • 举报
回复
今天有时间可以帮你写一个,你能等的话
为轮子而生 2016-05-15
  • 打赏
  • 举报
回复
引用 2楼我是你的主体 的回复:
[quote=引用 1 楼 rocmemory 的回复:] ComboBox的下拉列表应该是个popup,然后带一个Items呈现容器,因为ComboBox的Items是平行关系的集合,所以无法通过修改模板的方式使它呈现为树形结构,这种需求只能是自己写一个用户控件来实现,要用到popup,里面放一个TreeView,至于文本框和箭头,自己画吧
你说的不对吧,在popup中加个TreeView就可以,问题是数据绑定和显示有问题[/quote]就是因为用ComboBox的数据模板无法完成树形结构,所以数据绑定和显示才有问题,你觉得把平行数据改为树形数据只是在界面上加个TreeView就可以解决?WPF里不是所有问题都可以通过修改模板来完成的,模板这个概念只是mvvm模式的基础,而不是所有问题的解决方案,它可以帮你完成呈现方式的一次性转换,但是如果要改变数据结构,就不能胜任了。 而且我很奇怪,按我说的那样做个自定义控件不难吧?起码你在这里等答案的时间已经够做好几个了。 说WPF简单确实不假,但要在多动手的前提下。多动手就能做到不求人,我们搞wpf好几年了,至今还没有用过第三方控件,因为这个框架已经灵活到你可以随意干任何想干的事。
鏡椛氹鈅 2016-05-15
  • 打赏
  • 举报
回复
引用 4 楼 rocmemory 的回复:
[quote=引用 2楼我是你的主体 的回复:][quote=引用 1 楼 rocmemory 的回复:]
ComboBox的下拉列表应该是个popup,然后带一个Items呈现容器,因为ComboBox的Items是平行关系的集合,所以无法通过修改模板的方式使它呈现为树形结构,这种需求只能是自己写一个用户控件来实现,要用到popup,里面放一个TreeView,至于文本框和箭头,自己画吧

你说的不对吧,在popup中加个TreeView就可以,问题是数据绑定和显示有问题[/quote]就是因为用ComboBox的数据模板无法完成树形结构,所以数据绑定和显示才有问题,你觉得把平行数据改为树形数据只是在界面上加个TreeView就可以解决?WPF里不是所有问题都可以通过修改模板来完成的,模板这个概念只是mvvm模式的基础,而不是所有问题的解决方案,它可以帮你完成呈现方式的一次性转换,但是如果要改变数据结构,就不能胜任了。
而且我很奇怪,按我说的那样做个自定义控件不难吧?起码你在这里等答案的时间已经够做好几个了。
说WPF简单确实不假,但要在多动手的前提下。多动手就能做到不求人,我们搞wpf好几年了,至今还没有用过第三方控件,因为这个框架已经灵活到你可以随意干任何想干的事。[/quote]

引用 5 楼 rocmemory 的回复:
今天有时间可以帮你写一个,你能等的话
我只是简单的做到了上面的程度,在TreeView数据绑定的地方遇到了问题,我在网上找资料发现有人实现了该功能,但是很复杂,所以想看看有没有简单的办法,那就麻烦你写个自定义控件的实现方式,让我借鉴下,谢谢了
鏡椛氹鈅 2016-05-14
  • 打赏
  • 举报
回复
引用 1 楼 rocmemory 的回复:
ComboBox的下拉列表应该是个popup,然后带一个Items呈现容器,因为ComboBox的Items是平行关系的集合,所以无法通过修改模板的方式使它呈现为树形结构,这种需求只能是自己写一个用户控件来实现,要用到popup,里面放一个TreeView,至于文本框和箭头,自己画吧
你说的不对吧,在popup中加个TreeView就可以,问题是数据绑定和显示有问题
鏡椛氹鈅 2016-05-14
  • 打赏
  • 举报
回复
大神在哪里
为轮子而生 2016-05-14
  • 打赏
  • 举报
回复
ComboBox的下拉列表应该是个popup,然后带一个Items呈现容器,因为ComboBox的Items是平行关系的集合,所以无法通过修改模板的方式使它呈现为树形结构,这种需求只能是自己写一个用户控件来实现,要用到popup,里面放一个TreeView,至于文本框和箭头,自己画吧

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧