问题描述
希望大神指点下如何修改Combox的模版将Treeview控件和Combox控件结合起来
解决方案
解决方案二:
ComboBox的下拉列表应该是个popup,然后带一个Items呈现容器,因为ComboBox的Items是平行关系的集合,所以无法通过修改模板的方式使它呈现为树形结构,这种需求只能是自己写一个用户控件来实现,要用到popup,里面放一个TreeView,至于文本框和箭头,自己画吧
解决方案三:
引用1楼rocmemory的回复:
ComboBox的下拉列表应该是个popup,然后带一个Items呈现容器,因为ComboBox的Items是平行关系的集合,所以无法通过修改模板的方式使它呈现为树形结构,这种需求只能是自己写一个用户控件来实现,要用到popup,里面放一个TreeView,至于文本框和箭头,自己画吧
你说的不对吧,在popup中加个TreeView就可以,问题是数据绑定和显示有问题
解决方案四:
大神在哪里
解决方案五:
引用2楼我是你的主体的回复:
Quote: 引用1楼rocmemory的回复:
ComboBox的下拉列表应该是个popup,然后带一个Items呈现容器,因为ComboBox的Items是平行关系的集合,所以无法通过修改模板的方式使它呈现为树形结构,这种需求只能是自己写一个用户控件来实现,要用到popup,里面放一个TreeView,至于文本框和箭头,自己画吧你说的不对吧,在popup中加个TreeView就可以,问题是数据绑定和显示有问题
就是因为用ComboBox的数据模板无法完成树形结构,所以数据绑定和显示才有问题,你觉得把平行数据改为树形数据只是在界面上加个TreeView就可以解决?WPF里不是所有问题都可以通过修改模板来完成的,模板这个概念只是mvvm模式的基础,而不是所有问题的解决方案,它可以帮你完成呈现方式的一次性转换,但是如果要改变数据结构,就不能胜任了。而且我很奇怪,按我说的那样做个自定义控件不难吧?起码你在这里等答案的时间已经够做好几个了。说WPF简单确实不假,但要在多动手的前提下。多动手就能做到不求人,我们搞wpf好几年了,至今还没有用过第三方控件,因为这个框架已经灵活到你可以随意干任何想干的事。
解决方案六:
今天有时间可以帮你写一个,你能等的话
解决方案七:
引用4楼rocmemory的回复:
Quote: 引用2楼我是你的主体的回复:
Quote: 引用1楼rocmemory的回复:
ComboBox的下拉列表应该是个popup,然后带一个Items呈现容器,因为ComboBox的Items是平行关系的集合,所以无法通过修改模板的方式使它呈现为树形结构,这种需求只能是自己写一个用户控件来实现,要用到popup,里面放一个TreeView,至于文本框和箭头,自己画吧你说的不对吧,在popup中加个TreeView就可以,问题是数据绑定和显示有问题
就是因为用ComboBox的数据模板无法完成树形结构,所以数据绑定和显示才有问题,你觉得把平行数据改为树形数据只是在界面上加个TreeView就可以解决?WPF里不是所有问题都可以通过修改模板来完成的,模板这个概念只是mvvm模式的基础,而不是所有问题的解决方案,它可以帮你完成呈现方式的一次性转换,但是如果要改变数据结构,就不能胜任了。而且我很奇怪,按我说的那样做个自定义控件不难吧?起码你在这里等答案的时间已经够做好几个了。说WPF简单确实不假,但要在多动手的前提下。多动手就能做到不求人,我们搞wpf好几年了,至今还没有用过第三方控件,因为这个框架已经灵活到你可以随意干任何想干的事。
引用5楼rocmemory的回复:
今天有时间可以帮你写一个,你能等的话
我只是简单的做到了上面的程度,在TreeView数据绑定的地方遇到了问题,我在网上找资料发现有人实现了该功能,但是很复杂,所以想看看有没有简单的办法,那就麻烦你写个自定义控件的实现方式,让我借鉴下,谢谢了
解决方案八:
这个是下拉DataGrid的,你可以仿着改改。
解决方案九:
引用7楼duanzi_peng的回复:
这个是下拉DataGrid的,你可以仿着改改。
我问下,如果我想封装到控件库,是继承微软自己的Combox好呢,还是做用户控件好一些
解决方案十:
引用8楼u012804018的回复:
Quote: 引用7楼duanzi_peng的回复:
这个是下拉DataGrid的,你可以仿着改改。我问下,如果我想封装到控件库,是继承微软自己的Combox好呢,还是做用户控件好一些
当然是继承。重新设定它的items样式。