[英]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.