none
ListView.ItemsSource welche mit Linq gesetzt wurde aktualisieren RRS feed

  • Frage

  • Hallo,

    ich habe eine SortedList mit Objekten. Key ist der ID des Objekts. Diese Objekte werden nun in einer ListView angezeigt. Da sie alphabetisch angezeigt werden sollen wird das ItemsSource Property im Konstruktor der Page mit einer Linq Query angepasst.
    Von der Page kann ich in eine andere Page navigieren in der neue Objekte erfasst und in die SortedList eingefügt werden können.

    Beim Navigate Back wird eine neue Instanz der Page mit dem Listview erstellt und der Konstruktor durchlaufen. Die neu erfassten Objekt erscheinen in der ListView sind aber nicht anwählbar. Weder über eine Suche mit einer Textbox noch mit dem Klicken mit der Maus auf den Eintrag.

    Woran liegt das? Der Code ist unten.

     <Page.Resources>
        <CollectionViewSource x:Name="Entry_Nutrition_Collection" 
             Source="{x:Bind Entry_Nutrition:Entry_Nutrition_ViewModel.SingleInstance.Entry_List.Values}">
        </CollectionViewSource>
    
        <app:DecimalToStringConverter x:Key="DecimalToStringConverterKey"></app:DecimalToStringConverter>
    
      </Page.Resources>
    
         <ListView x:Name="Entry_Nutrition_List_ListView"
                    ItemsSource="{Binding Source={StaticResource Entry_Nutrition_Collection}}"    
                    SelectedItem="{x:Bind ViewModel.Obj_Entry_Nutrition, Mode=TwoWay}"
                    SelectionChanged="Entry_Nutrition_List_ListView_Selection_Changed"
                    SelectionMode="Single" Margin="8"  MaxHeight="400"
                    RelativePanel.AlignLeftWith="Gramm"
                    RelativePanel.Below="Gramm">
    

        public Entry_Meal_Item_Page()
        {
          this.InitializeComponent();
    
          Entry_Nutrition_List_ListView.ItemsSource =
          (from e in
                Entry_Nutrition.Entry_Nutrition_ViewModel.SingleInstance.Entry_List.Values
           orderby e.Title
           select e);
        }



    Dienstag, 30. Juli 2019 10:31

Antworten