2016-05-26 6 views
0

In WPF (.NET 4.5) Ich RichTextBox in meiner XAML habenersetzen RichTextBox Inhalt bindet an leeren String

<RichTextBox Height="40" Width="100"> 
     <FlowDocument> 
      <Paragraph> 
       <Run Text="{Binding TestRichTextBox}"/> 
      </Paragraph> 
     </FlowDocument> 
    </RichTextBox> 

in und Viewmodel Ich habe diese Immobilie

string testRichTextBox; 
public string TestRichTextBox 
{ 
    get { return testRichTextBox; } 
    set 
    { 
     if (testRichTextBox == value) 
      return; 
     testRichTextBox = value; 
     onPropertyChanged("TestRichTextBox"); 
    } 
} 

Szenario:

  1. RichTextBox hat Inhalt

  2. gesamten Text auswählen (Strg + A)

  3. neuen Text

in Ansichtsmodell einzufügen I Haltepunkt auf Set-Methode habe, neu Value ist leerer String zurück.

Ist das normales Verhalten oder ein Fehler?

Antwort

-1

Könnten Sie das bitte versuchen und prüfen, ob var text irgendeinen Wert zurückgibt?

public Window1() 
{ 
    InitializeComponent(); 

    // "tb" is a richtextBox 
    DataObject.AddPastingHandler(tb, OnPaste); 
} 

private void OnPaste(object sender, DataObjectPastingEventArgs e) 
{ 
    var isText = e.SourceDataObject.GetDataPresent(DataFormats.UnicodeText, true); 
    if (!isText) return; 

    var text = e.SourceDataObject.GetData(DataFormats.UnicodeText) as string; 
    ... 
} 
+0

Leider funktioniert es nicht. immer noch auf leere Zeichenfolge und andere Änderung hat keine Auswirkungen auf das Textfeld. – user2988892

+0

Ich habe die Antwort aktualisiert. Bitte überprüfen Sie jetzt – ViVi

+0

nach dem Einfügen Ereignis, Kontrolle erhält leere Zeichenfolge Wert und dann Binging ist kaputt. – user2988892