繁体   English   中英

UserControl如何触发selectionChanged事件到Window?

[英]How can a UserControl trigger an selectionChanged event to a Window?

我想制作一个ColorPicker userControl,然后放入一个窗口。

当用户单击usercontrol的任何矩形时,我想将此信息返回到Window。 我该怎么办? 谢谢!

您的拾色器UserControl必须实现每次用户单击UserControl的其中一个矩形时引发的事件。 如果你不知道如何实现一个事件,只需评论这个答案,我给你一个例子。

下面是示例:您声明自己的事件args(如果需要)以在事件中提供一些信息:

class RectangleClickedEventArgs : EventArgs
{
    public int SomeValue { get; set; }
}

在您的usercontrol中,您声明事件:

public event EventHandler<RectangleClickedEventArgs> RectangleClicked;

在某些情况下,您以这种方式引发事件(线程安全的方式:

var temp = RectangleClicked;
if (temp != null)
{
    var e = new RectangleClickedEventArgs{ SomeValue = 42};
    temp(this, e);
}

在您的表单中,您订阅了该活动:

userControl.RectangleClicked += OnRectangleClicked;

在事件例程中,您可以执行所需的操作:

private void OnRectangleClicked(object sender, RectangleClickedEventArgs e)
{
    // Do what you want to do
}

希望有帮助......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM