看看这个:
<ItemsControl ItemsSource="{x:Static local:Cache.Colors}" />
这将ItemsControl绑定到名为List的静态属性。在这种情况下,Colors属性是名为Cache的类的一部分。
但是有一个问题。以这种方式绑定时,在应用程序中建立安全性之前,在Initialize方法期间调用Colors属性。
由于尚未建立安全性,因此调用Colors会导致异常,因为安全性是成功调用数据服务的必要条件。
解决方案将此操作从XAML移至代码隐藏,并确保在Initialized期间在Loaded事件中而不是在构造函数中执行。
这里真正的问题是,我想在XAML中这样做。有可能吗?
答案 0 :(得分:3)
我通常通过绑定ItemsSource来实现INotifyCollectionChanged接口来解决这个问题。初始化时,项目源为空,然后在加载时填充项目源。项目源的填充会引发集合更改事件,从而导致您的项目控件在源中重新绑定/添加新项目。
答案 1 :(得分:0)
我的解决方案是先在App.xaml.cs中运行它。