我有一个组合框,它从API获取值。我想获取该组合框中所选项目的ID,因为下一个视图中的数据根据此处选定的值进行更改。如何获取组合框中选定项目的ID。 C#Metro App
My 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; }
}
用户将能够选择在组合框中的主题,所以我想它返回的主题,所以我可以根据被摄物体动态加载的单位。
有人请帮我做.. 任何形式的帮助表示赞赏......
没有它trows空例外.... – kirushan
我编辑我的代码我的职务之后,我添加了错误的属性正确的一个将SelectionChanged =“ComboBox_SelectionChanged”,是否可以检查这个? –
顺便说一句,我认为,当你绑定项目源,我认为它是从这里的主题列表。 ItemsSource =“{Binding Source = {StaticResource cvsSubjects}}”,你只是将名字绑定到代码后面的文本上,这个方法只有在你绑定'Subject'对象的List时才有效。您可以将它们绑定为列表,如果名称是唯一的,则它会以其他方式工作,您需要有一种方法来单独检查其ID。 –