ViewModel 2/2

Wie bereits erklärt, ist das ViewModel für die Logik zuständig und beinhaltet die Models, also die Daten.

Damit die View auf das ViewModel zugreifen kann, müssen wir im code-behind den DataContext angeben:

namespace DateiverwaltungPro.Views {
    /// <summary>
    ///     Interaction logic for MainWindowView.xaml
    /// </summary>
    public partial class MainWindowView {
        public MainWindowView() {
            InitializeComponent();
            DataContext = new MainWindowViewModel();
        }
    }
}

Aufgabe 1:

Erstelle ein Textbox Element über dem Nummernblock.

Lösung Aufgabe 1:
<TextBox HorizontalAlignment="Center"
         VerticalAlignment="Top"
         Width="200"
         Margin="0, 5, 0, 0" />

Aufgabe 2:

Erstelle in deinem ViewModel eine Property mit dem Namen FunnyNumber vom Typ string. Die Property soll ein Backing-Field haben.

Lösung Aufgabe 2:

Dein ViewModel könnte jetzt in etwa wie folgt aussehen:

namespace DateiverwaltungPro.Views {
    public class MainWindowViewModel {
        private string _funnyNumber;

        public string FunnyNumber {
            get {
                return _funnyNumber;
            }
            set {
                _funnyNumber = value;
            }
        }
    }
}

Databinding

Um den Inhalt der Textbox an diese Property zu binden, verpassen wir ihr folgendes Attribut:

Text="{Binding FunnyNumber}"

Wenn du nun der Property im Konstruktor einen Wert zuweist und das Programm startest, solltest du den Text in der TextBox sehen können:

Commands

Kommentieren Kommentare