繁体   English   中英

如何在自定义控件位于用户控件内的MainWindow.xaml中公开自定义控件的事件和属性?

[英]How do I expose custom control events and properties in MainWindow.xaml where my custom control is inside a User Control?

我陷入一种情况,即我的自定义控件具有一个Text属性,并且在OnApplyTemplate方法中使用按钮注册了一个事件处理程序。

但是,当我将此自定义控件放在用户控件中时,然后在试图访问“自定义控件的Text依赖项”属性的窗口中使用此用户控件,但无法这样做。 也尝试从自定义控件内的按钮触发点击事件,但是当我单击按钮时,事件不会触发。 什么都没发生。

如果有人发现了类似的问题并且已经解决并知道任何解决方案。

如何访问在Mainwindow.xaml使用的用户控件中的自定义控件的依赖项属性? 我想访问Mainwindow.xaml的自定义控件的属性和事件。

要获得在Mainwindow.xaml使用的用户控件内部的Mainwindow.xaml属性,请在这种情况下使属性类型为string (对于Text ),然后在用户控件中将您的新属性应用于您的自定义控件中的该属性。

为了处理事件,您可以在自定义控件中像这样设置自己的事件处理程序

public event MyEventHandler;

你也需要代表

public delegate void MyEventHandler(object sender, ChoosenIdsEventArgs e);

然后在自定义控件中对按钮写入的Click事件进行控制

  protected void btn_Click(object sender, EventArgs e)
  {
   if(MyEventHandler != null)//check if u have this handler invoke on parent (user control in this case)
   {
       MyEventHandler(sender,e);
   }
  }

您可以在用户控件上做同样的事情。

希望对您有所帮助:)

暂无
暂无

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

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