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

问题描述 投票:1回答:3

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

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

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

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

Buddy b=(Buddy)item

我得到一个错误,如无法将类型ListBoxItem转换为Buddy

如何为Buddy课程演员?

wpf listboxitem
3个回答
6
投票

它应该是......

Buddy b = (Buddy)item.DataContext;

这有帮助吗?


2
投票

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

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

1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.