我有一个带有三个依赖属性的silverlight用户控件。所有属性都已成功绑定,并且它们具有正确的值。这些属性的值在父控件中异步加载,因此我不知道属性绑定的顺序。我需要在加载控件的所有属性时加载一些实体。有没有优雅的解决方案来解决这个问题。我不想使用hack创建私有字段或类似的东西。在所有绑定之前触发Load事件,因为我说我的属性是异步加载的。
以下是一个例子:
<namespace:MyControl Prop1="{Binding ParentProp1}" Prop2="{Binding ParentProp2}" Prop3="{Binding ParentProp3}" />
答案 0 :(得分:0)
创建您自己的事件,并在初始化所有属性时调用它
您可以通过在控件中实现INotifyPropertyChanged
然后订阅OnPropertyChanged
事件并检查是否已初始化所有属性来确定所有属性都已正确初始化。在那里,您可以触发您的事件,告诉任何订阅者初始化已完成。