2015-04-11 2 views
1

У меня есть TextBox для ввода имени файла. При длинном пути TextBox может отображать только часть пути. Я считаю, что самая правая часть (содержащая имя файла) более важна, чем левая часть. Однако TextBox отображает только самую левую часть. Я думал, что HorizontalContentAlignment будет делать трюк, но это не так. Что я могу сделать?Показать правый конец текстовой строки в TextBox

+0

Вы можете поделиться этим кодом, пожалуйста? Если я создаю простое приложение с ' ' и начните вводить текст в TextBox, он показывает правый конец текста. –

+0

Не уверен, что с помощью TextBox можно будет создать собственный контроль. – AymenDaoudi

+0

@Szabolcs: Это просто текстовое поле, которое вы сделали. Если текст не вписывается в TextBox, и вы заканчиваете ввод текста, вы не видите нужный конец, не так ли? –

ответ

2

Как указано в комментариях, TextBox будет автоматически делать то, что вы хотите, когда начинаете вводить в него текст, но я предполагаю, что вы также хотите, чтобы это было сделано, если вы установите текст из конструктора (или программно) ,

Рассмотрим следующую разметку:

<TextBox Width="50" Height="30" Name="MyTextBox">This is some text</TextBox> 

При выполнении этого покажет левую часть текста. Для того, чтобы показать правую часть, вы могли бы сделать что-то подобное в вашем коде позади:

public MainWindow() 
{ 
    InitializeComponent(); 

    // The text box needs to have the focus for Select to work 
    MyTextBox.Focus(); 
    // Move the caret to the end of the text box 
    MyTextBox.Select(MyTextBox.Text.Length, 0);    
} 

Этот пример показывает, делая это в конструкторе окна, но вы можете сделать это везде, где имеет смысл в вашем приложении.

Смежные вопросы