2016-06-16 2 views
2

편집 가능한 자동 완료시 combobox의 자동 완성은 짧은 항목에 적합합니다.자동 완성으로 인해 텍스트가 오른쪽으로 스크롤됩니다.

그러나 선택한 문자열이 너무 넓고 combobox에 맞지 않으면 자동 완성 기능이 문자열의 나머지 부분을 선택하면 아마도 오른쪽으로 수평 스크롤됩니다.

사용자가 입력하는 지점의 현재 위치를 숨 깁니다.

사용자가 볼 수있는 캐럿 위치를 유지하려면 어떻게해야합니까?

<ComboBox x:Name="comboBoxCustomer" 
    ItemsSource="{Binding Source={StaticResource customerViewSource}}" 
    TextSearch.TextPath="CustomerDisplay" 
    SelectedValue="{Binding CustomerID, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" 
    SelectedValuePath="ID" 
    SelectionChanged="comboBoxCustomer_SelectionChanged" 
    StaysOpenOnEdit="True" 
    IsEditable="True" > 
    <ComboBox.ItemTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding CustomerDisplay}" Foreground="{Binding ActiveColour}" /> 
     </DataTemplate> 
    </ComboBox.ItemTemplate> 
</ComboBox> 

답변

3

사용 ScrollToHome 방법.

private void comboBoxCustomer_KeyUp(object sender, KeyEventArgs e) 
    { 
     TextBox tb = (TextBox)comboBoxCustomer.Template.FindName("PART_EditableTextBox", comboBoxCustomer); 
     tb.ScrollToHome(); 
    } 
+0

답변을 추가해 주셔서 감사합니다. – riteshmeher

+0

이것은 나를 위해 일했지만 텍스트가 "바운스 (bounce)"되거나 텍스트가 "튀는"것을 앞뒤로 막을 방법을 찾았습니까? – adondero

+0

@adondero 간단히 튀어 오릅니다. 그러나 나는 거의 알아 채지 못했고 타이핑을 방해하지 않습니다. 나는 그것으로 멋지다. 더 나은 해결책이 있습니까? –

0

시도해야합니다. comboboxtextbox

<ComboBox x:Name="comboBoxCustomer" 
    ItemsSource="{Binding Source={StaticResource customerViewSource}}" 
    TextSearch.TextPath="CustomerDisplay" 
    SelectedValue="{Binding CustomerID, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" 
    SelectedValuePath="ID" 
    SelectionChanged="comboBoxCustomer_SelectionChanged" 
    StaysOpenOnEdit="True" 
    IsEditable="True" > 
    <ComboBox.ItemTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding CustomerDisplay}" Foreground="{Binding ActiveColour}" **TextAlignment="Left"** /> 
     </DataTemplate> 
    </ComboBox.ItemTemplate> 
</ComboBox> 
+0

나는 이미'TextAlignment'를 시도했지만 별다른 차이가 없습니다. –

관련 문제