在Silverlight中的UserControl中公开按钮的Click事件

时间:2010-08-29 10:26:53

标签: silverlight events expression-blend

我的UserControl中有一个按钮。我在同一页面上有三个UserControl实例。

如何在内部公开按钮的click事件,以便为UserControl的每个实例分配不同的事件。

我认为这与暴露DependencyProperty背后的概念类似,但我不明白如何为事件做这件事。

感谢。

1 个答案:

答案 0 :(得分:4)

我通常会向用户控件添加一个具有相同名称(和相同参数)的事件,并订阅子控件的原始事件,因此我可以传递事件:

public partial class ClickEventControl : UserControl
{
    public event EventHandler<RoutedEventArgs> Click;

    public ClickEventControl()
    {
        InitializeComponent();
    }

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

如果有更通用的方法,我也会感兴趣。