J'ai une liste déroulante où l'on obtient les valeurs d'une API. Je veux obtenir l'ID de l'élément sélectionné dans cette liste déroulante car les données de ma vue suivante changent en fonction de la valeur sélectionnée ici.Comment obtenir un ID d'un élément sélectionné dans une liste déroulante. C# Metro App
Mon Combobox.
<ComboBox x:Name="cmbSubjects" HorizontalAlignment="Right" Background="#FFE5DBE8" Width="141" SelectedItem="Maths" Margin="0,217,957,247" ItemsSource="{Binding Source={StaticResource cvsSubjects}}" PlaceholderText="Select"/>
Voici comment je le peupler.
private async void getSubjects()
{
try
{
string subjects = baseAddress + "subjects";
var cont = await httpClient.GetStringAsync(new Uri(subjects));
subjectHelper data = JsonConvert.DeserializeObject<subjectHelper>(cont);
foreach (var item in data.result)
{
cmbSubjects.Items.Add(item.name);
}
}
catch (Exception ex)
{
MessageDialog messageDialog = new MessageDialog(ex.Message);
messageDialog.ShowAsync();
}
}
Mes classes:
public class Subject
{
public int id { get; set; }
public string name { get; set; }
public string code { get; set; }
public string description { get; set; }
public curriculum curriculam { get; set; }
}
class subjectHelper
{
public List<Subject> result { get; set; }
}
public class unit
{
public int id { get; set; }
public string name { get; set; }
public string code { get; set; }
public string description { get; set; }
public string image { get; set; }
public int teachingHours { get; set; }
public int isMandotory { get; set; }
public Subject subject { get; set; }
}
class unitHelper
{
public List<unit> result { get; set; }
}
L'utilisateur sera en mesure de sélectionner le sujet dans la zone de liste déroulante donc je veux qu'il revienne le sujet donc je peux charger les unités dynamiquement en fonction du sujet.
Quelqu'un s'il vous plaît aidez-moi faire ça .. Toute aide est appréciée ......
pas elle trows une exception nulle .... Je – kirushan
édité mon code juste après mon post , J'ai ajouté une mauvaise propriété correcte sera SelectionChanged = "ComboBox_SelectionChanged", est-il possible de vérifier cela? –
Btw Je supposais que lorsque vous liez la source des éléments, je pensais que c'est la liste de Sujet d'ici. ItemsSource = "{Source de liaison = {StaticResource cvsSubjects}}", vous ne faites que lier le nom en tant que texte au code derrière, cette méthode ne fonctionnera que si vous liez la liste de l'objet 'Sujet'. Vous pouvez les lier en tant que liste et cela fonctionnera autrement si les noms sont uniques vous avez besoin d'une méthode pour vérifier leurs identifiants séparément. –