У меня есть элемент управления, который выглядит следующим образом:
public class MyControl : Control
{
[Bindable(true)]
public MyControl MyControlParent { get; set; }
// snip
}
В моей разметке я хочу следующее:
<tag:MyControl ID="foo" runat="server">
<tag:MyControl ID="bar" MyControlParent="foo" runat="server"></tag:MyControl>
</tag:MyControl>
Причина, по которой я хочу иметь возможностьНазовите родителя следующим образом, потому что я также хотел бы иметь возможность сделать что-то вроде этого: или
<tag:MyControl ID="foo" runat="server">
<tag:MyControl ID="foobar" runat="server">
<tag:MyControl ID="bar" MyControlParent="foo" runat="server"></tag:MyControl>
</tag:MyControl>
</tag:MyControl>
или
<tag:MyControl ID="foo" runat="server"></tag:MyControl>
<!-- snip -->
<tag:MyControl ID="bar" MyControlParent="foo" runat="server"></tag:MyControl>
Я попытался добавить преобразователь типа, ноон срабатывает до того, как HttpContext.Current.Handler установлен, что означает, что я не могу искать элементы управления страницы для нужного экземпляра MyControl.Родительско-дочерние отношения в этом элементе управления привносят определенное наследование значений свойств и не обязательно (читай, не должны) подразумевают родительско-дочерние отношения в дереве элемента управления.
Существует ли (практическое) решение для этогопроблема или я просто хочу больше, чем это возможно сейчас?=)
Приветствия
// Даниил