我有一个用于Property Grid
的列表,我想消除添加按钮的可能性 - 添加。
但我希望能够编辑已有的数据。
我的清单:
private List<Pos> _position = new List<Pos>();
public List<Pos> Position
{
get { return _position; }
set
{
_position = value;
NotifyPropertyChanged("Position");
}
}
Pos.cs:
public class Pos
{
public string Name { get; set; }
public double Postion { get; set; }
public Pos()
: this(null, Double.NaN)
{
}
public Pos(string name, double postion)
{
this.Name = name;
this.Postion = postion;
}
}
我尝试将[ReadOnly(true)]
放在列表上方,但仍然可以选择添加。
有没有人知道该怎么做?
答案 0 :(得分:0)
我取消了添加/删除选项,如下所示:
我创建了一个泛型类:
public class PosList<T> : List<T>, ICollection<T>, IList
{
public ValuesList(IEnumerable<T> items) : base(items) { }
bool ICollection<T>.IsReadOnly { get { return true; } }
bool IList.IsReadOnly { get { return true; } }
}
这样就可以在代码中添加/删除,但不能通过集合编辑器。
使用:
private PosList<Pos> _position = new PosList<Pos>(new List<Pos>());
public PosList<Pos> Position
{
get { return _position; }
set
{
_position = value;
NotifyPropertyChanged("Position");
}
}