ContentProperty的元素何时实际创建?

时间:2012-07-02 13:23:41

标签: wpf data-binding custom-controls parent-child

我正在创建一个使用以下标记的自定义WPF控件:

<custom:FilterPanel
    Grid.Row="1"
    FilterTarget="{Binding Path=MyItems}">
    <custom:FilterParameter
        ParameterName="Name"
        TargetProperty="Name" />
    <custom:FilterParameter
        ParameterName="Date"
        TargetProperty="MyDate" />
</custom:FilterPanel>

我已将FilterPanel的ContentProperty设置为FilterParameters,这显然是我使用上面的标记添加项目的FilterParameter对象的集合。我的问题是,ContentProperty的元素何时实际处理,以便创建实例并将项目实际添加到基础集合中?

我有兴趣与其子控件共享父控件的数据源,WPF生命周期中是否有任何意义我可以覆盖此行为并为创建此FilterParameters集合添加自定义逻辑?

1 个答案:

答案 0 :(得分:1)

假设你的类派生自Panel,那么Panel的生命周期中你可以看到孩子的第一点(即像你的例子那样在XAML中被贴死的孩子 - 而不是通过绑定生成的孩子){{1}您可以在派生类中重写的虚方法。特别是在Panel.EndInit()BeginInit方法之间创建的chldren。