如何将ListBoxItem转换为绑定到列表的类?

时间:2011-08-04 12:23:07

标签: wpf listboxitem

我有一个ListBox,其中包含绑定到Buddy类的伙伴列表{String name;字符串消息}

当用户点击某个项目时,我会通过处理PreviewMouseDown事件获得所点击的项目:

var item = ItemsControl.ContainerFromElement(lb, e.OriginalSource as DependencyObject) as ListBoxItem;

问题是我无法将项目转换为好友项目:如果我尝试使用

进行转换
Buddy b=(Buddy)item

我收到错误,例如无法将类型ListBoxItem转换为Buddy

如何向Buddy班级演员?

3 个答案:

答案 0 :(得分:6)

它应该是......

Buddy b = (Buddy)item.DataContext;

这有帮助吗?

答案 1 :(得分:2)

ListBox项上的DataContext属性将是项绑定的Buddy。请改用它。

Buddy b=(Buddy)(item.DataContext);

答案 2 :(得分:1)

这是访问项目的错误方法(并使用WPF)。您应该处理SelectionChanged事件,然后将SelectedItem强制转换为Buddy类型。这是选择中涉及的对象。