使用 ObservableCollection 实现模态
Implement an Modal with a ObservableCollection
我正在使用 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; }
}
我想我明白你的问题了。您想要向图像添加一些 "metadata"。您可以围绕 ImageSource 构建一个包装器 class 或从 ImageSource 派生一个 class (我将同时显示两者):
包装器class
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;
}
派生class
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,因为对象本身是一个添加了属性的 ImageSource。如果这对你的申请没有负面影响,我会接受这个。如果那需要大量重构,第一个例子也可以。
我正在使用 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; }
}
我想我明白你的问题了。您想要向图像添加一些 "metadata"。您可以围绕 ImageSource 构建一个包装器 class 或从 ImageSource 派生一个 class (我将同时显示两者):
包装器class
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;
}
派生class
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,因为对象本身是一个添加了属性的 ImageSource。如果这对你的申请没有负面影响,我会接受这个。如果那需要大量重构,第一个例子也可以。