C# 在WPF的组合框中获取属性值
我有一个C# 在WPF的组合框中获取属性值,c#,wpf,C#,Wpf,我有一个组合框,它绑定到列表(从数据库,使用实体框架)。我想在comboBox的SelectionChanged上获取所选项目(对象)的AdId public class Ad { public int AdId { get; set; } public string AdContent { get; set; } } private void ComboBox_SelectionChanged(object sender, SelectionChanged
组合框
,它绑定到列表(从数据库,使用实体框架)。我想在comboBox的SelectionChanged
上获取所选项目(对象)的AdId
public class Ad
{
public int AdId { get; set; }
public string AdContent { get; set; }
}
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ComboBox cmd = (ComboBox) sender;
int AdId = cmd.SelectedItem;
???????????? I'm stuck here how to get AdId from SelectedItem... tried SelectedValue and SelectedValuePath... didn't work
}
组合框的
cmd.SelectedItem
属性将返回一个对象,您可以将它们强制转换为您自己的业务对象。然后您可以轻松访问其属性,如下所示:
int AdId = ((Ad)cmd.SelectedItem).AdId ;
string AdContent = ((Ad)cmd.SelectedItem).AdContent;
组合框的
cmd.SelectedItem
属性将返回一个对象,您可以将它们强制转换为您自己的业务对象。然后您可以轻松访问其属性,如下所示:
int AdId = ((Ad)cmd.SelectedItem).AdId ;
string AdContent = ((Ad)cmd.SelectedItem).AdContent;
设置
SelectedValuePath=“AdId”
并从代码中获取所选值,如下所示:
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ComboBox cmd = (ComboBox) sender;
int AdId = (int)cmd.SelectedValue;
}
设置
SelectedValuePath=“AdId”
并从代码中获取所选值,如下所示:
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ComboBox cmd = (ComboBox) sender;
int AdId = (int)cmd.SelectedValue;
}
在这种情况下,所选值的类型将是
Ad
,而不是像您一样的intexpected@un-幸运的是,如果我们设置'SelectedValuePath=“AdId”',结果将仅为int。它不会返回类型“Ad”。在测试成功完成后,我将发布答案。@un lucky Yes buddy。如果他下次需要其他(2个或更多)参数,该怎么办?@un lucky您应该设置SelectedValuePath=“AdId”并选中此选项。在这种情况下,所选值的类型将为Ad
,而不是intexpected@un-如果我们设置“SelectedValuePath=“AdId”,那就太幸运了'结果将仅为int。它不会返回类型“Ad”。成功完成测试后,我将发布答案。@un lucky Yes buddy。如果他下次需要其他(2个或更多)参数,该怎么办?@un lucky您应该设置SelectedValuePath=“AdId”并检查