J'ai essayé de changer la valeur de ma combobox quand la combobox précédente est sélectionnée, mais cela ne fonctionne pas.J'ai besoin de définir la valeur de ma ComboBox en fonction de la sélection d'autres ComboBox
Voici mon code:
Lorsque les formes chargent je remplir d'abord ComboBox
:
List<Tax> listOfActiveTaxes = TaxesController.SelectAll();
int IndexOfTax = TaxesController.SelectAll().FindIndex(a => a.Value == DefaultTaxValue);
cmbTaxes.ItemsSource = listOfActiveTaxes;
cmbTaxes.DisplayMemberPath = "Description";
cmbTaxes.SelectedValue = "Id";
cmbTaxes.SelectedIndex = IndexOfTax;
et je dois changer la valeur de cette cmbTaxes
si Cmb ci-dessus est sélectionné (CmbGroups), alors quand cmb ci-dessus est sélectionné, je l'ai fait suivant:
private void cmbGroups_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var selectedGroup = (Group)cmbGroups.SelectedItem;
if (selectedGroup != null && selectedGroup.Id > 0)
{
//Not changing when I select any Group
cmbTaxes.SelectedItem = selectedGroup.Tax;
}
}
'cmbTaxes.SelectedValue = "Id",' 'est Id' le nom d'une propriété, ou la valeur d'une propriété? Si c'est le * nom * d'une propriété, ce que vous voulez est 'cmbTaxes.SelectedValuePath =" Id ";' Aussi, veuillez considérer la suggestion de dymanoid de le faire en XAML avec des liaisons. Ce sera très simple et direct de cette façon. –
Question pas vraiment importante, mais quoi qu'il en soit: pourquoi n'utilisez-vous pas de 'Binding's, mais définissez plutôt directement les propriétés dans le code-behind? Nous sommes dans un monde WPF ... – dymanoid
@ mm8 Liste listOfActiveTaxes = TaxesController.SelectAll(); –