簡體   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