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

时间:2012-06-19 06:49:31

标签: wpf events properties user-controls custom-controls

我遇到的情况是我的自定义控件有一个Text属性,并且使用OnApplyTemplate方法中的按钮注册了一个事件处理程序。

但是当我将这个自定义控件放在用户控件中时,我在一个窗口中使用此用户控件,我试图访问自定义控件Text依赖属性但不能这样做。还尝试从自定义控件内的按钮触发单击事件,但是当我单击按钮时,事件不会触发。没有任何事情发生。

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

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

1 个答案:

答案 0 :(得分:0)

要获取用户控件内的自定义控件的属性,该控件在Mainwindow.xaml make属性中使用,在此案例类型为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);
   }
  }

你可以对你的用户控制做同样的事情。

希望这有帮助:)