0

我有一个用户控件 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 中以一种很好的方式解决这个问题?

4

1 回答 1

1

在我看来,最好使用EventHandler而不是您自己的委托类型。

此外,如果该类是公共的并且具有公共构造函数,则您可以将其设为MyEvent公共。

public event EventHandler<MyEventArgs> MyEvent;
于 2012-08-03T11:06:40.517 回答