我正在编写一个 WP7 GUI 并设计了一个 Control 类,以及一个从 Control 派生并具有子控件列表的 ParentControl 类。但是,当将子项添加到 ParentControl 实例时,我无法访问子项的父引用,因为我将其设置为不受控件用户的“保护”。
确切的错误是
“无法通过 'Control' 类型的限定符访问受保护的成员 'Control.Parent';
限定符必须是 'ParentControl' 类型(或派生自它)”
public abstract class Control //such as a button or radio button
{
public ParentControl Parent { get; protected set; }
}
public abstract class ParentControl : Control //such as a panel or menu
{
protected List<Control> children = new List<Control>();;
public void AddChild(Control child, int index)
{
NeedSizeUpdate = true;
if (child.Parent != null)
child.Parent.RemoveChild(child);
child.Parent = this; //How do I access the parent?
children.Insert(index, child);
OnChildAdded(index, child);
}
}
我该如何解决这个问题?