2010-05-04 9 views

Répondre

0

J'ai contourné ce problème en mettant temporairement un espace réservé.

private const string TAB = " "; 
private const string TAB_PLACEHOLDER = "===TAB==="; 

J'ai utilisé l'espace réservé pour remplacer temporairement tous les caractères de tabulation, puis une fois qu'ils étaient dans le RichTextBox j'ai remplacé tous les espaces réservés avec des onglets.

textBox1.Text = richTextBox1.Xaml; 
string xaml = richTextBox1.Xaml; 

xaml = xaml.Replace(TAB, TAB_PLACEHOLDER); 

richTextBox2.Xaml = xaml; 

foreach (Block block in richTextBox2.Blocks) 
{ 
    foreach (Inline inline in ((Paragraph)block).Inlines) 
    { 
     ((Run) inline).Text = ((Run) inline).Text.Replace(TAB_PLACEHOLDER, TAB); 
    } 
}