2012-02-24 84 views
2

我有一個可編輯的wpf組合框。當我輸入比其長度更長的東西而不是滾動到最後一個字符時,文本就會失控並且不可見。有沒有什麼辦法解決這一問題?可編輯的組合框文本滾動

<ComboBox Margin="11,0,0,0" 
      Height="23"         
      Width="200" 
      IsEditable="True" 
      Text="{Binding Profile.Mat}" 
      ItemsSource="{Binding Statuses}" /> 

textscrolling

+0

這是否解決了?這不適合我。 – Ben 2016-04-29 03:20:09

回答

0

您可以通過處理組合框的模板中的文本框的SelectionChanged事件實現這一目標。在您的代碼後面添加以下代碼:

 public override void OnApplyTemplate() 
     { 
      base.OnApplyTemplate(); 
      if (comboBox.ApplyTemplate()) 
      { 
       TextBox editableTextBox = (TextBox)comboBox.Template.FindName("PART_EditableTextBox", comboBox); 
       editableTextBox.SelectionChanged += new RoutedEventHandler(editableTextBox_SelectionChanged); 
      } 
     } 

     void editableTextBox_SelectionChanged(object sender, RoutedEventArgs e) 
     { 
      TextBox textBox = sender as TextBox; 
      if (textBox != null) 
      { 
       textBox.ScrollToHome(); 
       e.Handled = true; 
      } 
     } 
+0

讓我知道這是你需要什麼。 – gaurawerma 2012-02-24 13:20:00