2016-05-02 3 views
0

У меня есть богатый текстовое поле, в котором в WinForms я использую следующий код в Winforms:Rich Text Box WPF startselection и длина

private void logRichTextBox_TextChanged(object sender, EventArgs e) 
    { 
     logRichTextBox.SelectionStart = logRichTextBox.Text.Length; 
     logRichTextBox.ScrollToCaret(); 
    } 

Это прекрасно работает, однако я теперь реализовав пользовательский элемент управления в WPF и, следовательно, используя Rich Text Box, содержащиеся в System.Windows.Controls, однако он не имеет ни одной из этих функций, которые я могу найти в документации MSDN или в любом месте в Интернете. Любые мысли о том, как я могу реализовать вышеприведенный код для получения начала и длины богатого текстового поля и прокрутки до каретки в WPF?

+0

Это выглядит ваше решение: http://stackoverflow.com/questions/13621549/where-is-scrolltocaret-in-a-textbox-in-wpf – frooook

+0

Это решение является для стандартного текстового поля не богатый текстовое окно. – Naive

ответ

0

Скажем, у вас есть RichTextBox в WPF, как это:

<RichTextBox x:Name="richTextBox" HorizontalAlignment="Left" Height="296" VerticalAlignment="Top" Width="507" TextChanged="RichTextBox_OnTextChanged"> 
      <FlowDocument> 
       <Paragraph> 
        <Run Text="RichTextBox"/> 
       </Paragraph> 
      </FlowDocument> 
     </RichTextBox> 

Теперь вы можете подключить четная и принесет желаемое поведение.

private void RichTextBox_OnTextChanged(object sender, TextChangedEventArgs e) 
     { 
      this.richTextBox.CaretPosition = this.richTextBox.Document.ContentEnd; 
     } 
Смежные вопросы