如何使用DataSource属性访问listView中的数据绑定对象?

时间:2018-02-12 22:03:53

标签: c# winforms controls checkedlistbox

所以我有这个radclv_peças这是一个radCheckedListBox控件,填充了Peça个自定义对象,我正在尝试使用SelectedItem属性获取当前选中的对象。问题是我不知道如何访问这些使用DataSource属性绑定的对象,如下所示:

radclv_peças.DataSource = Program.M_Wardrobe.ListaPeças;
radclv_peças.DisplayMember = "Name";
radclv_peças.ValueMember = "Id";

我需要根据pictureBox中当前选择的Peça更改listView中的图片。我们的想法是通过ID获取当前选定的项目,并将其与Peça(MVC模式)中包含Program.M_Wardrobe.ListaPeças类型的所有List<Peça>对象进行比较,直到找到具有相同的ID并将其发送到pictureBox。 那么,如何使用DataSource属性访问radCheckedListBox(Telerik)中绑定的项的Id或其他属性?

1 个答案:

答案 0 :(得分:1)

Telerik RadCheckedListBox.SelectedItem有一个DataBoundItem属性。这表示SelectedItem绑定到RadCheckedListBox绑定的对象列表中的特定对象。通过在运行时将其强制转换为对象类型,可以在事件处理程序中访问其属性。

private void RadCheckedListBox_SelectedIndexChanged(object sender, EventArgs e)
{
    var selectedItem = radCheckedListBox.SelectedItem?.DataBoundItem as Peça;
}

一旦你有了这个项目,你可以随意使用它。