我正在使用freshmvvm。
模态
public class Expense : INotifyPropertyChanged
{
public int Id { get; set; }
public string Name { get; set; }
public ObservableCollection<ImageSource> Images { get; set; }//here
public event PropertyChangedEventHandler PropertyChanged;
}
我想提供图像属性,如(名称,类型,来源)
public ObservableCollection<ImageSource> Images {
public string name { get; set; }
public string type { get; set; }
public ImageSource source { get; set; }
}
答案 0 :(得分:1)
我想我理解你的问题。你想添加一些&#34;元数据&#34;到图像。您可以围绕ImageSource构建一个包装类,或者从ImageSource派生一个类(我将同时显示这两个类):
包装类
public class ImageWrapper
{
public string name { get; set; }
public string type { get; set; }
public ImageSource source { get; set; }
}
public class Expense : INotifyPropertyChanged
{
public int Id { get; set; }
public string Name { get; set; }
public ObservableCollection<ImageWrapper> Images { get; set; }//here
public event PropertyChangedEventHandler PropertyChanged;
}
派生类
public class MyImageSource : ImageSource
{
public string name { get; set; }
public string type { get; set; }
}
public class Expense : INotifyPropertyChanged
{
public int Id { get; set; }
public string Name { get; set; }
public ObservableCollection<MyImageSource> Images { get; set; }//here
public event PropertyChangedEventHandler PropertyChanged;
}
在第二个示例中,您不需要一个属性来保存ImageSource,因为对象itsel是一个具有附加属性的ImageSource。如果这对您的申请没有负面影响,我会继续这样做。如果需要进行大量重构,那么第一个例子也可以。