2016-03-22 23 views
1

Also versuche ich herauszufinden, wie man aus dem View-Modell meiner App auf das RichEditBox-Steuerelement zugreifen kann. Ist dies überhaupt möglich, ohne ein Anti-Pattern zu verwenden?Zugriff auf das RichEditBox-Steuerelement über das ViewModel?

Die einzige Möglichkeit, auf das Steuerelement in meinem Ansichtsmodell zuzugreifen, besteht darin, es an eine Eigenschaft in der View Model-Instanz zu übergeben. Zum Beispiel:

public MainView() 
{ 
    this.InitializeComponent(); 

    // Instantiate the ViewModel: 
    MyViewModel vm = new MainViewModel(); 
    { 
     myRichEditBox = this.richEditBoxElement; 
    } 
} 

So, jetzt die MainViewModel Instanz (vm) enthält ein Feld namens myRichEditBox, die die RichEditBox Punkte, die ich aus der Ansicht Modell zu manipulieren versuchen. Ist dies ein geeigneter Zugang oder ist es ein Anti-Pattern? Gibt es einen besseren Weg, um darauf zuzugreifen?

+0

Sie sollen nicht von dem Viewmodel Zugriff auf UI-Elemente haben müssen Was sind Sie zu erreichen versuchen – Domysee

+0

Nun, wenn.? Ich benutzte eine TextBox, das wäre kein Problem, aber die RichEditBox erfordert Manipulation über C# -Code. Ich versuche Daten zu schreiben meine Datenbank zu und von diesem Steuerelement. – JonathanR33D

+0

Was versuchen Sie zu erreichen? – Domysee

Antwort

0

Die aus der Box RichEditBox für Datenbindung jedoch nicht gemacht :(Sie sollten nie die Steuerelemente aus dem Blick auf das Ansichtsmodell aussetzen, weil das gegen alles geht MVVM steht.

gibt es einige Lösungen von Menschen ., die Bindable RichEditBoxes erstellt könnten Sie dies einen Versuch geben: http://www.codeproject.com/Articles/66054/A-Bindable-WPF-RichTextBox (haben das Beispiel selbst nicht ausprobiert)

+0

Danke. Ich denke für jetzt gehe ich mit der Textbox. Es wird tatsächlich funktionieren für das, was ich AT THE MOMENT tun muss. Ich verstehe jetzt, wozu die RichEditBox eigentlich gedacht war. – JonathanR33D

+0

Allerdings werde ich sagen, dass die UWP-Bibliotheken, die bis jetzt verfügbar sind, im Vergleich zu dem, was mit den WPF-spezifischen Bibliotheken erlaubt ist, ziemlich primitiv sind. Ich konnte sehen, warum viele Entwickler es nicht eilig haben. SMH ... – JonathanR33D

Verwandte Themen