自定义Panel中添加依赖属性需要注意的问题

今天帮忙同事调试一个自定义Panel的问题, 很奇怪, 利用Binding可以通过ItemSource来添加控件,但是在ListBox的xaml里添加几个ListBoxItem却报异常:

VisualTree of ItemsPanelTemplate must be a single element.

原因有2:
1)ListBox的ItemPanelTemplate使用自定义Panel时, 需要设置IsItemHost=“True"
2)这个自定义Panel里自己实现了很多依赖属性注册依赖属性时用PropertyMetaData调用布局回调, 而不是用FrameworkElementMedaData来通过AffectArrange的Flag来影响布局。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...