自定义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来影响布局。
上一篇:Entity Framework快速入门--IQueryable与IEnumberable的区别(转载)


下一篇:XAML实例教程系列 - 依赖属性和附加属性(四)