代码之家  ›  专栏  ›  技术社区  ›  kentwait

在Silverlight中公开UserControl中按钮的单击事件

  •  4
  • kentwait  · 技术社区  · 14 年前

    我的用户控件中有一个按钮。我在同一页上有三个UserControl实例。

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

    我认为这类似于公开DependencyProperty背后的概念,但我不知道如何对事件执行它。

    1 回复  |  直到 14 年前
        1
  •  4
  •   iCollect.it Ltd    14 年前

    我通常会向用户控件添加一个同名(和相同参数)的事件,并订阅子控件的原始事件,以便在以下位置传递事件:

    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);
            }
        }
    }