wpf - 如何在 WPF 中为用户控件创建用户定义(新)事件?一个小示例

标签 wpf events user-controls

我有一个UserControl,其中使用了Canvas,并在该Canvas 中使用了一个矩形。我想为该用户控件( Canvas 和矩形)创建一个单击事件,然后我想在主窗口中使用该事件。

问题是:我想为 UserControl 创建一个新的点击事件。怎么做?请展示一些示例或代码。

最佳答案

关于如何从主窗口可以注册的 UserControl 公开事件的简短示例:

在您的用户控件中:

1.添加以下声明:

public event EventHandler UserControlClicked;

2.在您的 UserControl_Clicked 事件中 raise the event 像这样:

 private void UserControl_MouseDown(object sender, MouseButtonEventArgs e)
 {
        if (UserControlClicked != null)
        {
            UserControlClicked(this, EventArgs.Empty);
        }
  }

在主窗口中:

您的用户控件现在将有一个 UserControlClicked 事件,您可以注册该事件:

<local:UserControl1 x:Name="UC" UserControlClicked="UC_OnUserControlClicked" />

关于wpf - 如何在 WPF 中为用户控件创建用户定义(新)事件?一个小示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13447940/

相关文章:

c# - 使用 MessagingCenter 和标准 .NET 事件处理程序来通知相关方更改有什么区别?

javascript - 主干js传递参数

c# - 用户控件的有序列表(添加和删除)

wpf - 通过父级上的点击事件获取子级

c# - Caliburn.Micro 和 Telerik WPF 控件

c# - WPF中如何将数据绑定(bind)到gridcontrol

javascript - 为什么我可以在注册之前触发和处理它?

c# - 在 XAML 页面级别定义的 UserControl DataContext

c# - WPF "Coloured binding"

wpf - IDataErrorInfo vs ValidationRule vs 异常