看看这个:
<ItemsControl ItemsSource="{x:Static local:Cache.Colors}" />
这将 ItemsControl 绑定(bind)到名为 List 的静态属性。在本例中,Colors 属性是名为 Cache 的类的一部分。
但是有一个问题。当您以这种方式绑定(bind)时,在应用程序中建立安全性之前,会在 Initialize 方法期间调用 Colors 属性。
由于安全性尚未建立,因此调用 Colors 会导致异常,因为安全性是成功调用数据服务的必要条件。
该解决方案将其从 XAML 移至代码隐藏,并确保它在 Loaded 事件中执行,而不是在初始化期间在构造函数中执行。
这里真正的问题是,我想在 XAML 中执行此操作。可能吗?
最佳答案
我通常通过绑定(bind) ItemsSource 来实现 INotifyCollectionChanged 来解决这个问题。界面。在初始化时,项目源将为空,然后在加载时填充项目源。项目源的填充会引发集合更改事件,导致您的项目控件在源中重新绑定(bind)/添加新项目。
关于wpf - 如何将 XAML 绑定(bind)延迟到加载后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6499586/