Как сделать чтобы заполнялся комбо бокс от значения другого комбобокса mvvm

Хочу чтобы второй комбобокс заполнялся в зависимости от первого комбобокса. Что стоит исправить чтобы оно работало? Саму vm осуществляю следующим способом:

public static Provider SelectedProductProvider { get; set; }

    private List<Product> allProductsByProvider;
    public List<Product> AllProductsByProvider
    {
        get 
        {
           
            return allProductsByProvider; 
        }
        set
        {
            allProductsByProvider = value;
            if (SelectedProductProvider != null)
                allProductsByProvider = DataWorker.GetAllProductsByProvider(SelectedProductProvider.IdProvider);
            
            NotifyPropertyChanged("AllProductsByProvider");
        }
    }
    //все закупки
    private List<Purchase> allPurchases =DataWorker.GetAllPurchases();
    public List<Purchase> AllPurchases
    { 
        get {  return allPurchases;} 
        set 
        {  
            allPurchases = value;
            NotifyPropertyChanged("AllPurchases");
        }
    }

View:

 <ComboBox ItemsSource="{Binding AllProviders}"
                  DisplayMemberPath="NameProvider"
                  IsEditable="True"
                  IsTextSearchEnabled="True"
                  Text="{Binding TextSearch, Delay=250}"
                  StaysOpenOnEdit="True"
                  VerticalAlignment="Top" 
                  HorizontalAlignment="Left"
                  MinWidth="300" Margin="572,100,0,0"
                  SelectedItem="{Binding SelectedProductProvider}">
                    </ComboBox>
                    <ComboBox ItemsSource="{Binding AllProductsByProvider, Mode=TwoWay}"
                  DisplayMemberPath="NameProduct"
                  IsEditable="True"
                  IsTextSearchEnabled="True"
                  Text="{Binding TextSearch, Delay=250}"
                  StaysOpenOnEdit="True"
                  VerticalAlignment="Top" 
                  HorizontalAlignment="Left"
                  MinWidth="300" Margin="572,176,0,0">
                    </ComboBox>

Model:

 public static List<Product> GetAllProductsByProvider(int id)
        {
            using (PizzaSoftContext db = new PizzaSoftContext())
            {   
                List<Product> products = (from product in GetAllProducts() where product.IdProviderProduct == id select product).ToList();
                return products;
            }
        }
 public static List<Purchase> GetAllPurchases()
        {
            using (PizzaSoftContext db = new PizzaSoftContext())
            {
                var result = db.Purchases.ToList();
                return result;
            }
        }

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