4


1

SilverlightのUserControl内のボタンのClickイベントを公開する

UserControl内にボタンがあります。 同じページにこのUserControlの3つのインスタンスがあります。

UserControlの各インスタンスに異なるイベントを割り当てることができるように、ボタンのクリックイベントを公開するにはどうすればよいですか。

これはDependencyPropertyを公開する背後にある概念に似ていると思いますが、イベントに対してそれを行う方法がわかりません。

ありがとう。

1 Answer


4


通常、同じ名前(および同じパラメーター)のイベントをユーザーコントロールに追加し、子コントロールの元のイベントをサブスクライブするため、イベントを渡すことができます。

public partial class ClickEventControl : UserControl
{
    public event EventHandler Click;

    public ClickEventControl()
    {
        InitializeComponent();
    }

    private void aButton_Click(object sender, RoutedEventArgs e)
    {
        if (Click != null)
        {
            Click(sender, e);
        }
    }
}

また、もっと一般的な方法があれば興味があります。