假设我有以下类层次结构:
public static class Constants
{
public enum MyEnum
{
Value1 =0,
Value2,
Value3
}
}
public class Data : INotifyPropertyChanged
{
public Data(string name, ushort id, Constants.MyEnum e)
{
DataName = name;
DataId = id;
DataEnum = e;
}
#region Properties
// get / set implementation not shown
public string DataName;
public ushort DataId;
public Constants.MyEnum DataEnum;
#endregion
// INotifyPropertyChanged implementation not shown
// Fields implementation not shown
}
public class DataContainer
{
public DataContainer()
{
ContainedData = new ObservableCollection<Data>();
ContainedData.Add(new Data("data1", 1, Constants.MyEnum.Value1));
ContainedData.Add(new Data("data2", 2, Constants.MyEnum.Value2));
ContainedData.Add(new Data("data3", 3, Constants.MyEnum.Value3));
}
public ObservableCollection<Data> ContainedData;
}
我想将 DataContainer 的 ContainedData 数据绑定到 ListView 并创建一个 ItemTemplate 包含:
我的目标 :
- 我希望 Combobox 能够显示所有可能的 MyEnum 值
- 我希望 Combobox 实现到 DataEnum 字段的 TwoWay 绑定
问题 :
- 我如何实现列出的目标?
- 数据的属性有多种类型。这对文本框有影响吗?如果是这样,我应该只将它们公开为字符串吗?如何验证数据?(即确保用户没有在 DataId 字段等中传递“abc”)