我有一个ListBox,其中包含绑定到Buddy类的伙伴列表{String name;字符串消息}
当用户点击某个项目时,我会通过处理PreviewMouseDown事件获得所点击的项目:
var item = ItemsControl.ContainerFromElement(lb, e.OriginalSource as DependencyObject) as ListBoxItem;
问题是我无法将项目转换为好友项目:如果我尝试使用
进行转换Buddy b=(Buddy)item
我收到错误,例如无法将类型ListBoxItem转换为Buddy
如何向Buddy班级演员?
答案 0 :(得分:6)
它应该是......
Buddy b = (Buddy)item.DataContext;
这有帮助吗?
答案 1 :(得分:2)
ListBox项上的DataContext属性将是项绑定的Buddy。请改用它。
Buddy b=(Buddy)(item.DataContext);
答案 2 :(得分:1)
这是访问项目的错误方法(并使用WPF)。您应该处理SelectionChanged事件,然后将SelectedItem强制转换为Buddy类型。这是选择中涉及的对象。