Выбираю категорию, но программа не видит этого
Выбираю категорию, но программа не видит этого.
Какого условия и где не хватает?
Это мой XAML EditProductWindow ( картинка "не выбрана категория" )
<...>
<ComboBox ItemsSource="{Binding AllCategorys}"
DisplayMemberPath="Name"
SelectedValuePath="{Binding CategoryName}"/>
<...>
<Button Grid.Row="1" Content="Изменить"
Command="{Binding EditProduct}"
CommandParameter="{Binding ElementName=EditProductWnd}"/>
</Grid>
</Grid>
</Window>
<..>
command EditProduct
private RelayCommand editProduct;
public RelayCommand EditProduct
{
get
{
return editProduct ?? new RelayCommand(obj =>
{
Window window = obj as Window;
string resultStr = "Не выбран товар";
string noCategoryStr = "Не выбрана категория";
if (SelectedProduct != null)
{
if (SelectedCategory != null)
{
resultStr = DataWorker.EditProduct(SelectedProduct, SelectedCategory);
UpdateAllDataView();
SetNullValuesToProperties();
ShowMessageToUser(resultStr);
window.Close();
}
else ShowMessageToUser(noCategoryStr);
}
else ShowMessageToUser(resultStr);
});
}
}
methond EditProduct
<..>
public static string EditProduct(Product oldProduct, Category category)
{
string result = "Такой товар уже существует";
using (ApplicationContext db = new ApplicationContext())
{
bool checkIsExist = db.Products.Any(el => el.Barcode == DataManageVM.ProductBarcode);
if (!checkIsExist)
{
Product product = db.Products.FirstOrDefault(p => p.Id == oldProduct.Id && p.Name == category.Name);
product.Name = DataManageVM.ProductName;
product.Price = DataManageVM.ProductPrice;
product.Weight = DataManageVM.ProductWeight;
product.Unit = DataManageVM.ProductUnit;
product.Barcode = DataManageVM.ProductBarcode;
category.Name = DataManageVM.CategoryName;
db.SaveChanges();
db.Dispose();
result = "Название товара измененно";
}
return result;
}
}
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
SelectedItem отвечает за выбранный элемент
<ComboBox ItemsSource="{Binding AllCategorys}"
DisplayMemberPath="Name"
SelectedValuePath="{Binding CategoryName}"
SelectedItem="{Binding SelectedCategory}"/>
P.S. правильно пишется AllCategories, а не AllCategorys.
