2014-04-07 2 views
0

vs2010, WPF .NET 4.5 여기.WPF RichTextBox에서 붙여 넣기시 텍스트 서식을 제거 하시겠습니까?

제 생각에는 RichTextBox입니다. 텍스트는 굴림, 크기 12으로 설정됩니다

<xctk:RichTextBox DataContext="{StaticResource EditorViewModel}" Grid.Row="1" 
     Height="296" HorizontalAlignment="Center" SpellCheck.IsEnabled="True"  Margin="6,145,6,0" 
     Name="richTextBoxArticleBody" VerticalAlignment="Top" Width="962" Grid.RowSpan="2" 
     BorderBrush="Silver" BorderThickness="1" AcceptsTab="True" FontFamily="Arial" FontSize="12" 
     Text="{Binding PastedText, UpdateSourceTrigger=PropertyChanged}" /> 

내가 내 RichTextBox에 모든 붙여 넣기에서 서식을 제거하려는. 이 거의 붙여 넣은 텍스트 글꼴 크기 (12)에 표시되는 것이 아니라 약 15 형식화 된 텍스트 크기로 포맷을 제외하고 작동

private void FormatPastedTextCommandAction() 
    { 
     string paste = (string)Clipboard.GetData("Text"); 

     Clipboard.SetText(paste); 

     PastedText += paste.ToString(); 

     Clipboard.Clear();   
    } 

: 나는 FormatPastedText 명령에 바인딩 내보기에서 붙여 넣기 버튼이 12 예상대로. 이 방법이나 붙여 넣은 문자열의 글꼴 크기를 설정하는 방법에 대해 더 좋은 방법이 있습니까?

감사합니다.

+0

붙여 넣기는 문자열 유형입니다. paste.ToString()을 사용할 필요가 없습니다. – Narendra

+0

Clipboard.GetData ("Text") 대신 Clipboard.GetText()를 사용하십시오. 이로 인해 문제가 해결 될 수 있습니다. – Narendra

+0

그래,이 코드는 내가 잊어 버린 코드 일 뿐이야. 같은 결과 ... – Hardgraf

답변

0

시도해보십시오. 문제가 해결되었을 수도 있습니다. 문제가 해결되지 않을 수도 있습니다. 그러나 코드에 주석으로 언급 된 코드가 약간 개선되었습니다.

private void FormatPastedTextCommandAction() 
    { 
     string paste = Clipboard.GetText();  // casting is not required if this function is used 

     // Clipboard.SetText(paste);   // This line is reduntant 

     PastedText += paste;     // no need to call ToString() 

     // Clipboard.Clear();      // You should not clear the Clipboard, as the user may want to paste the data in some other window/application. 
    } 
+0

아니요, 포맷되지 않은 사본이 문자열에 추가 된 클립 보드를 지울 필요가 있습니다. 아니요, 붙여 넣은 문자열의 크기를 처리해야합니다 ... – Hardgraf

+0

추가 검사시 RTF 형식의 RTB에 붙여 넣지 않은 붙여 넣은 텍스트와 관련이있는 것 같습니다. – Hardgraf

관련 문제