一千萬個為什麽

搜索

WPF TabBarControl設置選項卡更改時焦點到元素

我有一個綁定到視圖模型的TabControl

          
             
                
             
          

每個選項卡只包含一個視圖模型項。我使用數據模板來顯示它。

  <!-- View Model Template -->
  
     
        
     
  

當我更改當前選項卡時,我希望焦點位於數據模板中的文本框上(這是一個簡單的示例,在我的生產代碼中,我有一個數據網格)。我該怎麽做到這一點?

最佳答案

當您在DataTemplate中定義模板時,我不完全確定您可以將焦點設置在UIElement上。您可以將DataTemplate的內容放在UserControl中,然後在程序上將焦點設置在TextBox上,而不是直接使用DataTemplate。


  
    
  




  
    
  

在UserControl的代碼背後:

public MyUserControl()
{
  InitializeComponent();
  this.Loaded += new RoutedEventHandler( OnLoaded );
}

void OnLoaded( object sender, RoutedEventArgs e )
{
  MyTextBox.Focus();
}

我編寫了一個小項目,通過將DataTemplate推送到UserControl,TextBox在更改選項卡時獲得了焦點。

轉載註明原文: WPF TabBarControl設置選項卡更改時焦點到元素