2015-06-14 67 views
0

我试图创建一个懒惰的性质与Catel框架。有没有办法做到这一点?Catel框架 - 懒财产

当我创建这样的视图模型属性:

#region Photos property 

/// <summary> 
/// Gets or sets the Photos value. 
/// </summary> 
public FastObservableCollection<Photo> Photos 
{ 
    get 
    { 
     var temp = GetValue<FastObservableCollection<Photo>>(PhotosProperty); 
     if (temp == null) 
      Photos = SelectedPatient.GetPhotos(); 
     return GetValue<FastObservableCollection<Photo>>(PhotosProperty); 
    } 
    set { SetValue(PhotosProperty, value); } 
} 

/// <summary> 
/// Photos property data. 
/// </summary> 
public static readonly PropertyData PhotosProperty = RegisterProperty("Photos", typeof (FastObservableCollection<Photo>)); 

#endregion 

get功能,即使没有约束力的调用,所以我懒的特性,同时视图模型正在初始化初始化。

有没有办法做到这一点?

+0

也许有处理来自视图模型中的相应视图“visibilitychanged”的选项?这也将是一个选项(解决方法) – Tomasz

回答

0

只有1实施“懒属性”方式,这是通过使用懒惰<>类。原因是对于一些映射(比如视图模型到模型等),Catel直接使用SetValue而不是属性包装器(将Catel属性与依赖属性进行比较)。

+0

您可以发布这种类型的财产样本吗? – Tomasz