Visual Studio использует UserControlDesigner вместо CustomDesigner - PullRequest
0 голосов
/ 26 февраля 2010

У меня есть ASP-UserControl QuestionWithAnswer (.ascx) : BaseQuestion : UserControl и ControlDesigner QuestionDesigner : UserControlDesigner. Теперь я использую атрибут DesignerAttribute для связывания элемента управления и дизайнера:

[Designer(typeof(QuestionDesigner))]
public class BaseQuestion : UserControl

все типы находятся в одной сборке (веб-приложение). Но он по-прежнему загружает UserControlDesigner вместо моего. Должен ли я поместить свой дизайнер в отдельную сборку? Я предполагаю, что дизайнер asp-страницы не может найти дизайнера.

ТНХ! мо


демонстрационный код:

public class FragenDesigner : UserControlDesigner
{
    private DesignerActionList _actionList;
    private DesignerVerb[] _verbs;

    public override DesignerActionListCollection ActionLists
    {
        get
        {
            if (_actionList == null)
            {
                _actionList = new DesignerActionList(new System.Windows.Forms.TextBox());
                _actionList.AutoShow = true;


                ActionLists.Add(_actionList);
            }
            return base.ActionLists;
        }
    }

    public override DesignerVerbCollection Verbs
    {
        get
        {
            if (_verbs == null)
            {
                _verbs = new DesignerVerb[]
                         {
                             new DesignerVerb("test", onblabla), 
                         };

                Verbs.AddRange(_verbs);
            }

            return base.Verbs;
        }
    }

    private void onblabla(object sender, EventArgs e)
    {
        MessageBox.Show("blabla");
    }
}

1 Ответ

1 голос
/ 26 февраля 2010

хорошо, уже есть ответ: http://msdn.microsoft.com/en-us/library/system.web.ui.design.usercontroldesigner.aspx.

Примечания

Нет никакого преимущества для разработчика создание собственного дизайнера от UserControlDesigner. Для улучшения опыт разработки для пользовательский контроль, получить контроль от CompositeControl и вашего дизайнер из CompositeControlDesigner. В этом случай, вы не будете использовать файл .ascx для вашей разметки ASP.NET.

В моем случае нет возможности перейти на CompositeControls. Поверь мне, я предпочитаю Composite / WebControls ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...