Как сделать чтобы заполнялся комбо бокс от значения другого комбобокса 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;
}
}