获取ListBox中的ListBoxItem
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取ListBox中的ListBoxItem相关的知识,希望对你有一定的参考价值。
我正在尝试从ListBox中选择它时更改ListBoxItem上的Control模板。为此,我将从ListBox本身获取选定的ListBoxItem,并在其上设置控件模板。我该怎么做呢?我试过,SelectedItem并返回ListBoxItem中的绑定对象。
答案
您可以使用ItemContainerGenerator
从绑定项检索项容器:
object selectedItem = listBox.SelectedItem;
ListBoxItem selectedListBoxItem = listBox.ItemContainerGenerator.ContainerFromItem(selectedItem) as ListBoxItem;
另一答案
现在你可以这样做:
ListBoxItem container = listBox.ContainerFromIndex(listBox.SelectedIndex) as ListBoxItem;
ItemContainerGenerator.ContainerFromItem()
功能现在看起来像obsolete。
如果您已为ListBox设置了项目模板,那么您可以从中获取它
UIElement item= container.ContentTemplateRoot;
以上是关于获取ListBox中的ListBoxItem的主要内容,如果未能解决你的问题,请参考以下文章
如何从选定的 ListBox Control 的 listboxitem 中获取属性? C#
使用 ListBox 本身内部的“添加”按钮添加 ListBoxItem