Можете ли вы создать событие в пользовательском элементе управления? Если да, то как? - PullRequest
0 голосов
/ 01 декабря 2010

Я создал пользовательский элемент управления, содержащий DatePicker, и я хочу создать событие в пользовательском элементе управления, связанное с событием DatePicker DateChanged. Этот пользовательский элемент управления будет использоваться в itemcontrol.

1 Ответ

0 голосов
/ 01 декабря 2010

Да.Добавьте общедоступное событие в элемент управления.А затем добавьте метод, который ищет делегатов, прикрепленных к событию.Если есть какие-либо делегаты, поднять событие.Вот пример:

В пользовательском элементе управления:

public partial class Controls_UserComments : System.Web.UI.UserControl
{
    // the event delegates may listen for
    public event EventHandler CommentEditing;

    protected void Page_Load(object sender, EventArgs e)
    {
    // handle an event in the user control and bubble the event up to any delegates
        GridView_Comments.RowCancelingEdit += new GridViewCancelEditEventHandler(GridView_Comments_RowCancelingEdit);
    }

    void GridView_Comments_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView_Comments.EditIndex = -1;
        GridView_Comments.DataBind();

        // raise the event for attached delegates
        if (CommentEditing != null)
            CommentEditing(this, EventArgs.Empty);
    }
}

Теперь в веб-форме с использованием пользовательского элемента управления:

<ppc:UserComments ID="UserComments_ObservationComments" runat="server"
    OnCommentEditing="RefreshComments"
    />

Удачи!

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