前端之家收集整理的这篇文章主要介绍了
自定义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来影响布局。