我ObservableCollection
在运行时填充了 4 列。
public ObservableCollection<object> SelectedRows;
我想从此集合中获取 Id 列值,但我无法使用 LINQ 获取此值,因为在编译时我不知道集合中存在 Id 列。
我ObservableCollection
在运行时填充了 4 列。
public ObservableCollection<object> SelectedRows;
我想从此集合中获取 Id 列值,但我无法使用 LINQ 获取此值,因为在编译时我不知道集合中存在 Id 列。
Maybe something like this:
vat w = from s in db.table
select s.id;
foreach (var i in w)
{
console.writeln(i);
}
var selectedIndexId = from itemSelectedRows in <YourListName>.ToList<object>()
select itemSelectedRows.GetType().GetProperty("Id").GetValue(itemSelectedRows, null);
您可以使用数据绑定来做到这一点:
<ListBox ItemsSource="{Binding SelectedRows}"
DisplayMemberPath="The property to be displayed"
SelectValuePath="The property that SelectedValue would bind to"
SelectedValue="{Binding SelectedRowId}" />
如果您需要在 C# 中执行此操作,我强烈建议您的对象实现您可以转换为的通用接口。否则,您可以使用dynamic
关键字:
SelectedRows.Cast<dynamic>().Select(d => (int)d.Id)