2012-03-30 69 views
0

我有兩個視圖,例如'A'.Xaml和'B'.Xaml。在A.Xaml中,我有一個文本框和B.Xaml我有一個按鈕,單擊'B'視圖中的按鈕時,焦點應該設置在'A'.Xaml(視圖)中的控件(文本框) 。如何實現這一點。我嘗試了許多方法,如聚焦行爲,聚焦,聚焦等,我看到的主要問題是如何在不同的視圖中設置焦點控制目前,當在不同的視圖執行操作?請回復。提前感謝 KrishnaWPF焦點行爲問題

回答

1

您需要以某種方式參考B視圖中的A視圖。然後,你只需在類似於B

private void Button_Click(object sender, EventArgs e) 
{ 
    windowA.txtSomeTextBox.Focus(); 
} 

使用的東西上Button的事件。我實際上並不知道你給控件命名了什麼,所以這些部分可能是錯誤的(因爲我猜對了)。


請注意,這只是其中一種方式。還有很多其他的方法,例如...如果你使用Prism框架,你可以使用EventAggregator在兩個不相關的視圖之間發佈一個事件,或者從一個視圖模型中綁定Button到一個Command,事件,訂閱者(視圖)捕獲該事件並做它需要做的事情。等等,等等

0

試着這麼做:

Application.Current.Dispatcher.Invoke(() => 
     { 
      txtSomeTextBox.Focus(); 
     }); 

你也可以試試Application.Current.MainWindow才能訪問到A.xaml