我有一个UserControl A.
在代码隐藏文件中,我想提出一个特定事件(由我创建)。
现在我希望主窗口(包含用户控件)正在监听事件。
在WindowsForms中,我使用了这种方式:
namespace MyProgramm
{
public partial class MyClass
{
public MyClass()
{
InitializeComponent();
DataContext = this;
}
internal event MyEventHandler MyEvent;
private void RaiseMyEvent()
{
if (MyEvent!= null)
{
MyEvent(this, ...);
}
}
public string Name { get; set; }
}
internal delegate void MyEventHandler (MyClass sender, ...);
}
如何在WPF中以一种很好的方式解决这个问题?
答案 0 :(得分:1)
在我看来,使用EventHandler代替您自己的委托类型会更好。
此外,如果该类是公开的并且具有公共构造函数,则可以将MyEvent
公开。
public event EventHandler<MyEventArgs> MyEvent;