Как сделать сортировку элементов с помощью ComboBox?

У меня возникла проблема, при попытке сортировать мои данные при выборе позиций из комбобокс моё приложение падает. Возможно виноват мой запрос к базе данных, но я не знаю как сделать его лучше, пожалуйста подскажите как можно реализовать сортировку более правильно, в отличи от моего решения.

Код сортировки

 private void CB_Cat_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        List<GoodsModel> items = new List<GoodsModel>();
        DB db = new DB();
        db.openConnection();
        MySqlCommand cmd = new MySqlCommand($"SELECT ID, Title, Description, Count, Cost FROM Goods LEFT JOIN Category C on C.ID = Goods.Cat WHERE C.Title = '{CB_Cat.Text}'", db.GetConnection());
        using (var rd = cmd.ExecuteReader())
        {
            while (rd.Read())
            {
                items.Add(new GoodsModel() {ID = rd.GetInt32(0), Title = rd.GetString(1), Desc = rd.GetString(2), Count = rd.GetInt32(3), Cost = rd.GetInt32(4)});
            }
        }
        icGoodsList.ItemsSource = items;
    }

Код верстки

 <ItemsControl Name="icGoodsList">
           <ItemsControl.ItemTemplate>
               <DataTemplate>
                   <materialDesign:Card Margin="20 10 20 10">
                       <DockPanel>
                           <Image Source="F:\C#\Stationery\Stationery\IMG\Pen.png" Height="100" Width="100" Margin="0 0 50 0"/>
                           <StackPanel
                               HorizontalAlignment="Left"
                               VerticalAlignment="Center"
                           >
                               <DockPanel>
                                   <TextBlock 
                                       FontSize="20"
                                       FontWeight="600"
                                       Text="{Binding Title}"/>
                                   <StackPanel Margin="20 10 0 0">
                                       <TextBlock
                                           Text="В наличии"
                                           Foreground="Chartreuse"
                                       />
                                       <TextBlock
                                           Text="{Binding Count}"
                                       />
                                   </StackPanel>
                               </DockPanel>
              
                               <TextBlock
                                   FontSize="18"
                                   FontWeight="400"
                                   MaxWidth="250"
                                   MaxHeight="50"
                                   Margin="0 0 200 0"
                                   Text="{Binding Desc}"
                               />
                           </StackPanel>
                           <TextBlock
                               Foreground="#444444"
                               Margin="40 0 0 0"
                               VerticalAlignment="Center"
                               FontSize="26"
                               FontWeight="Bold"
                               Text="{Binding Cost}"
                           />
                           <Label Content="{Binding ID}" Visibility="Hidden" Height="1" x:Name="Cat_Label"/>
                           <Button
                               ToolTip="В корзину"
                               Margin="0 0 5 0"
                               Width="50"
                               materialDesign:ButtonAssist.CornerRadius="15"
                               FontSize="16"
                               materialDesign:ShadowAssist.ShadowDepth="Depth0"
                               x:Name="btnBuy"
                               Click="BtnBuy"
                           >
                               <materialDesign:PackIcon Kind="CreditCard" />
                           </Button>
                       </DockPanel>
                   </materialDesign:Card>
               </DataTemplate>
           </ItemsControl.ItemTemplate>
        </ItemsControl>

Моя модель

public class GoodsModel
    {
        public int ID { get; set; }
        public string Title { get; set; }
        public string Desc { get; set; }
        public int Count { get; set; }
        public int Cost { get; set; }
    }

Как выглядит связи в БД Связи в БД


Ответы (0 шт):