У меня есть поле со списком, в котором получает значения из API. Я хочу получить идентификатор выбранного элемента в этом поле со списком, поскольку данные в моем следующем представлении меняются в зависимости от значения, выбранного здесь.Как получить идентификатор выбранного элемента в поле со списком. C# Metro App
Мой 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"/>
Вот как я его заполняю.
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();
}
}
Мои Классы:
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; }
}
Пользователь сможет выбрать Subject в поле со списком, так что я хочу, чтобы вернуть Subject, так что я могу загрузить единицы динамически в зависимости от объекта.
Кто-то пожалуйста, помогите мне сделать это .. Любой вид помощи оценен ......
нет это trows нулевого исключения .... – kirushan
Я отредактировал мой код сразу после моего поста , Я добавил неправильное свойство правильно, будет SelectionChanged = "ComboBox_SelectionChanged", можно ли это проверить? –
Btw Я предположил, что когда вы связываете источник Items, я подумал, что это список Subject отсюда. ItemsSource = "{Binding Source = {StaticResource cvsSubjects}}", вы просто связываете имя как текст позади кода, этот метод будет работать только в том случае, если вы связываете объект «Объект». Вы можете связать их как список, и он будет работать другим, если имена уникальны, вам нужен метод для проверки их идентификаторов отдельно. –