2017-05-09 1 views
2

Hallo ich aus dieser die Daten hinzufügen möchten ObservableCollection hinzuzufügen:Wie Daten mit einem Datepicker und ein TextBox

<DatePicker x:Name="datePicker" HorizontalAlignment="Left" Margin="70,40,0,0" VerticalAlignment="Top" RenderTransformOrigin="-0.338,0.312" /> 
<TextBox x:Name="titleTextBox" HorizontalAlignment="Left" Margin="66,263,0,0" TextWrapping="Wrap" Text="Titre" VerticalAlignment="Top" Width="300"/> 

in meinem:

ObservableCollection<Rdv> 

das ist meine Klasse Rdv:

class Rdv 
{ 
    public string Title { get; set; } 
    public string Subject { get; set; } 
    public DateTime Date { get; set; } 

    public Rdv(string title, string subject, DateTime date) 
    { 
     Title = title; 
     Subject = subject; 
     Date = date; 
    } 
} 

Ich weiß nicht weiter. Ich muss Datepicker und Textbox binden? wie Sie Daten aus diesen Elementen entfernen und eine neue ObservableCollection mit diesen Daten erstellen.

Danke für das Lesen, hoffe, ich habe keine Fehler auf den Sätzen gemacht und danke für jede Hilfe.

+0

Ihre Frage ist zu vage. Wir haben keine Ahnung, was genau Sie in Ihrer GUI versuchen. Bitte fügen Sie weitere Details zu Ihrer Frage hinzu. Wie/wo verwenden Sie die ObservableCollection in Ihrer XAML-GUI? Wo kommt der DatePicker ins Bild? (Wie ist die Beziehung zwischen der Sammlung und dem DatePicker; ist es Teil einer Artikelvorlage?) – elgonzo

+0

@elgonzo Ich denke, er möchte nur die Eigenschaften dieser Steuerelemente an Viewmodel-Eigenschaften binden und eine Schaltfläche zum Ausführen hinzufügen Ein Befehl, der ein neues 'Rdv' mit den aktuellen Werten erzeugt. Ich würde ein Click-Ereignis anstelle eines Befehls empfehlen, um es einfach zu halten. –

+0

@EdPlunkett, da er eine Sammlung von Rdv-Objekten hat, zeigt er auf etwas wie ItemsContol und bindet Objekte als Teil eines ItemTemplate. Oder vielleicht versucht er nur an den ausgewählten Gegenstand zu binden. Oder vielleicht hat er eine ganz andere Idee, an die ich derzeit nicht denken kann. Nur er selbst kann uns sagen ... :) – elgonzo

Antwort

0

würde Ich mag, dies zu tun:

public void AddRdv() 
    { 
     _rdv.Add(new Rdv() {Title = titleTextBox.Text, Subject = subjectTextBox.Text, Date = dateTextBlock.date}); 
    } 

Aber der Name titleTextBox, subjectTextBox und dateTextBlock existieren im Kontext nicht. Ich benutze einen Datenkontext, vielleicht liegt es daran.

public ObservableCollection<Rdv> Rdv 
    { 
     get { return _rdv; } 
     set 
     { 
      _rdv = value; 
      RaisePropertyChanged(); 
     } 
    } 

    private Rdv _selectedRdv; 

    public Rdv SelectedRdv 
    { 
     get { return _selectedRdv; } 
     set 
     { 
      _selectedRdv = value; 
      RaisePropertyChanged(); 
     } 
    } 

    public MainViewModel() 
    { 
     Rdv = new ObservableCollection<Rdv>() 
     { 

      new Rdv("Exemple", "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", new DateTime(2009, 8, 8)), 

     }; 

     //SelectedRdv = Rdv[0]; 
    } 

    public void AddRdv() 
    { 
     _rdv.Add(new Rdv() {Title = titleTextBox.Text, Subject = subjectTextBox.Text, Date = dateTextBlock.date}); 
    } 

    public void DeleteSelectedRdv() 
    { 
     Rdv.Remove(SelectedRdv); 
     SelectedRdv = null; 
    } 
} 

}

Verwandte Themen