none
WPF Datagrid - CollectionChanged - PropertyChanged RRS feed

  • Frage

  • Hallo,

    hier mal eine kurze hoffentlich einfache Frage zu Collections. Ich habe ein Datagrid an das ich eine Collection binde. Nun ist es so, dass bevor ich die einzelnen Properties der Collection setzen kann ein anderes Property vorher gesetzt sein MUSS. Dafür dachte ich mir benutze ich das CollectionChanged Event, sprich sobald ein neues Objekt der Auflistung hinzugefügt wird, setz ich standardmäßig das Hilfsobjekt. Nun ist es aber leider so, dass zuerst das PropertyChanged Event gefeuert wird und nicht das CollectionChanged Event. Kann man das irgendwie beeinflussen? Ich hatte auch schon das InitializingNewItem Event am Grid selbst probiert, nur wird dieses wie das CollectionChanged Event auch erst nach dem PropertyChanged Event geworfen.

    MfG

    Manu

    Montag, 26. August 2013 15:28

Antworten

  • Hallo,

    soweit ich es verstanden habe, hast du im Codebehind eine Auflistung vom Type 'MyItem':

    public ObservableCollcetion<MyItem>() MyList{get;set;}

    Bevor du nun myItems.Property setzen kannst, musst du noch eine andere Eigenschaft diesen Typs auf etwas setzen. Hab eich das richtig verstanden?

    Für den Fall, das ja, dann gibt es mehrere Möglichkeiten:

    1. Du bearbeitest den Konstrukor von MyItem so, das die andere Eigenschaft automatisch gesetzt wird.
    2. Du sorgst für das setzen der richtigen Werte bereits bei hinzufügen der neuen Elemente.
    3. Du fragst am Beginn von PropertyChanged ob der Wert bereits gesetzt ist und setzt ihn ggf.

    Aufgrund eines Events des gebundenen Control würde ich nicht unbedingt handeln. Zumal man die Events auch nicht "umdrehen" kann.


    <Code-13/>- Koopakiller [kuːpakɪllɐ] (Tom Lambert)
    Webseite | Code Beispiele | Facebook | Twitter | Snippets   C# ↔ VB.NET Konverter
    Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.


    Montag, 26. August 2013 15:42
    Moderator