問題1:
WPF項目里有一個窗口和一個用戶控件,窗口和用戶控件里都有一個Button,點擊窗口里的Button如何觸發用戶控件里Button的Click事件
解答:
//窗口代碼 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); contentControl1.Content = new UserControl1(); } private void 窗口Button_Click(object sender, RoutedEventArgs e) { //如何觸發 用戶控件Button_Click var v = contentControl1.Content as UserControl1; v.DoSomethings(); } }
//用戶控件代碼 public partial class UserControl1 : UserControl { public UserControl1() { InitializeComponent(); } private void 用戶控件Button_Click(object sender, RoutedEventArgs e) { DoSomethings(); } public void DoSomethings() { 用戶控件Button.Content = "Hello World"; } }
問題2:
WPF項目里有一個窗口和一個用戶控件,窗口和用戶控件里都有一個Button,點擊用戶控件里的Button如何觸發窗體里Button的Click事件
解答:
//用戶控件代碼 private void 用戶控件Button_Click(object sender, RoutedEventArgs e) { var w = Window.GetWindow(用戶控件Button); // 獲取當前窗體 var b = w.FindName("okButton") as Button; // 找到當前窗體上的 okButton b.RaiseEvent(new RoutedEventArgs(e.RoutedEvent)); }