У меня есть два поля со списком для представления кода клиента и имени клиента.Оба связаны с одной и той же коллекцией объектов и с одним и тем же SelectedItem
.Я хочу обновить имя клиента, когда я выбираю код клиента, и наоборот.
Я использую C # с шаблоном MVVM.Я перепробовал все комбинации SelectedItem
и SelectedValue
с selectedvaluepath, но, похоже, ничего не работает.
Это мои два поля со списком:
<ComboBox Name="CmbStockUnitCustomerCode" ItemsSource="{Binding CustomerCodeDtos}"
DisplayMemberPath="Code" SelectedItem="{Binding SelectedCustomer, Mode=TwoWay}"
IsSynchronizedWithCurrentItem="True"></ComboBox>
<ComboBox Name="CmbStockUnitCustomerName" ItemsSource="{Binding CustomerCodeDtos}"
DisplayMemberPath="Name" SelectedItem="{Binding SelectedCustomer, Mode=TwoWay}"
IsSynchronizedWithCurrentItem="True"></ComboBox>
И это связанные объекты:
public CustomerDto SelectedCustomer
{
get => _selectedcustomer;
set
{
_selectedcustomer = value;
RaisePropertyChanged("SelectedCustomer");
}
}
public class CustomerDto
{
public short Code { get; set; }
public string Name { get; set; }
public CustomerDto(short code, string name)
{
this.Code = code;
this.Name = name;
}
}
public ObservableCollection<CustomerDto> CustomerCodeDtos
{
get => _databaseService.GetAllCustomers();
}
Когда я обновляю один из выпадающих списков, я ожидаю, что другой обновится до соответствующего значения в объекте CustomerDto, но ничего не происходит.