c# - 是否有任何事件表明所有依赖属性都已加载?

标签 c# silverlight binding user-controls

我有一个具有三个依赖属性的 silverlight 用户控件。所有属性都已成功绑定(bind)并且它们具有正确的值。这些属性的值在父控件中异步加载,所以我不知道属性绑定(bind)的顺序。当我的控件的所有属性都已加载时,我需要加载一些实体。有没有优雅的解决方案来解决这个问题。我不想使用 hack 创建私有(private)字段或类似的东西。 Load 事件在所有绑定(bind)之前触发,因为正如我所说,我的属性是异步加载的。

这是一个例子:

<namespace:MyControl Prop1="{Binding ParentProp1}" Prop2="{Binding ParentProp2}" Prop3="{Binding ParentProp3}" />

最佳答案

创建您自己的事件并在所有属性初始化后调用它。
您可以通过在控件中实现 INotifyPropertyChanged 然后订阅 OnPropertyChanged 事件并检查所有属性是否已初始化来确定所有属性是否已正确初始化。在那里你可以触发你的事件来告诉任何订阅者初始化已经完成。

Implement INotifyPropertyChanged
C# Events Guidelines

关于c# - 是否有任何事件表明所有依赖属性都已加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22149382/

相关文章:

wpf - Silverlight/WPF 设置十六进制颜色的椭圆

安卓服务交互

c# - 添加具有一对一子项的父项实例

c# - 如何在 C# 应用程序中安全地存储数据库登录名和密码?

asp.net - 这段代码是什么意思(s,e)?

silverlight - ScrollViewer 中多个 ItemsControl 的性能问题

wpf - 如何将控件绑定(bind)到 ViewModel(MVVM 模式)中的 XmlDocument 元素?

c# - 如何将 ItemsControl.ItemsSource 与 XAML 中的属性绑定(bind)?

c# - 我可以用 C# dll 终止 VBA 宏执行吗

c# - 与实例化 Web 引用代理类相关的开销是多少?