none
Rich Text Box RRS feed

  • Frage

  • Hallo,
    ich verwende eine Richt Text Box in einem WPF Projekt. Mit CRTL-I und CRTL-B soll die Schrift auf italic bzw. bold umschaltbar sein. Das funktioniert aber nicht. Andere Tastenkomninationen wie CRTL-U (underline) usw. funktionieren durchaus. Woran liegt es? Randbedingungen: Vista SP1 / VB10 Express Edition. Gruß, P.

    Freitag, 23. Juli 2010 10:11

Antworten

  • Hallo,

    hier ein paar mögliche Implementationen dazu:

    [Mastering the WPF RichTextBox]
    http://www.devx.com/dotnet/Article/34644

    CRTL-I und CRTL-B wären ja zum Beispiel im Deutschen eh sinnfrei. Dort würde man vielleicht etwas wie [STRG-SHIFT-K wie kursiv und STRG-Shift-F für fett], wei bei Microsoft Word benutzen. ([STRG-F] ist ja schon durch "Suchen" vorbelegt, deswegen [STRG-Shift-F]).


    ciao Frank
    Freitag, 23. Juli 2010 13:21

Alle Antworten

  • Hallo,

    hier ein paar mögliche Implementationen dazu:

    [Mastering the WPF RichTextBox]
    http://www.devx.com/dotnet/Article/34644

    CRTL-I und CRTL-B wären ja zum Beispiel im Deutschen eh sinnfrei. Dort würde man vielleicht etwas wie [STRG-SHIFT-K wie kursiv und STRG-Shift-F für fett], wei bei Microsoft Word benutzen. ([STRG-F] ist ja schon durch "Suchen" vorbelegt, deswegen [STRG-Shift-F]).


    ciao Frank
    Freitag, 23. Juli 2010 13:21
  • Hallo pitws,

    Habe mal getestet unter Windows 7 32-bit und Microsoft Visual Basic 2010 Express (Englisch) die RichTextBox unter WPF und ich konnte einwandfrei Bold (CTRL+B), Italic (CTRL+I) und Underline (CTRL+U) aus der Tastatur an die RichTextBox senden.

    Mit XAML ist das sehr einfach indem man ein Paragraph einfügt und die beliebige Formatierung durchführt.

    [XAML Code]

    <Window x:Class="MainWindow"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     Title="MainWindow" Height="350" Width="525">
     <Grid>
      <RichTextBox Height="199" HorizontalAlignment="Left" Margin="56,54,0,0" Name="myRichTextBox" VerticalAlignment="Top" Width="406">
       <FlowDocument>
        <Paragraph>
         Das ist eine RichTextBox. Ich kann
         <Bold>Bold</Bold> ,
         <Italic>Italic</Italic>
         und <Underline>Underline</Underline> gerade in meinem Dokument machen.
        </Paragraph>
       </FlowDocument>
      </RichTextBox>
     </Grid>
    </Window>
    

    Man kann es auch durch Code machen:

    [XAML Code]

    <Window x:Class="MainWindow"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     Title="MainWindow" Height="350" Width="525">
     <Grid>
      <RichTextBox Height="229" HorizontalAlignment="Left" Margin="20,18,0,0" Name="RTB" VerticalAlignment="Top" Width="458" />
      <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="20,253,0,0" Name="Button1" VerticalAlignment="Top" Width="458" />
     </Grid>
    </Window>
    

     

    [VB.NET Code Behind]

    Imports System.IO
    Imports System.Windows.Markup
    Imports System.Text
    
    Class MainWindow
    
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
      Dim xaml As String = String.Empty
    
      xaml = "<FlowDocument>"
      xaml += "<Paragraph><Bold><Run Foreground=""Red"">BOLD</Run></Bold></Paragraph>"
      xaml += "<Paragraph><Italic><Run Foreground=""Yellow"">ITALIC</Run></Italic></Paragraph>"
      xaml += "<Paragraph><Underline><Run Foreground=""Black"">UNDERLINE</Run></Underline></Paragraph>"
      xaml += "</FlowDocument>"
    
      Dim memstr As New MemoryStream(Encoding.ASCII.GetBytes(xaml))
      Dim pc As New ParserContext()
      pc.XmlnsDictionary.Add("", "http://schemas.microsoft.com/winfx/2006/xaml/presentation")
      pc.XmlnsDictionary.Add("x", "http://schemas.microsoft.com/winfx/2006/xaml")
    
      Dim myDocument As FlowDocument = TryCast(XamlReader.Load(memstr, pc), FlowDocument)
      RTB.Document = myDocument
    
     End Sub
    End Class
    

     

    Grüße,

    Robert

    Mittwoch, 25. August 2010 08:02
    Moderator
  • Vielen Dank für die Hinweise!!!!!

    Grüße,

    Pitws

    Sonntag, 2. Januar 2011 21:07