Tôi đang cố gắng thay đổi mẫu Điều khiển trên một ListBoxItem khi nó được chọn từ ListBox. Để làm như vậy, tôi sẽ lấy ListBoxItem được chọn từ chính ListBox, và thiết lập mẫu điều khiển trên đó. Tôi sẽ đi đâu để tới đó? Tôi đã thử, SelectedItem và trả về đối tượng bị ràng buộc trong ListBoxItem.Lấy ListBoxItem trong một ListBox
11
A
Trả lời
20
Bạn có thể lấy các container hàng từ mục bị ràng buộc bằng ItemContainerGenerator
:
object selectedItem = listBox.SelectedItem;
ListBoxItem selectedListBoxItem = listBox.ItemContainerGenerator.ContainerFromItem(selectedItem) as ListBoxItem;
0
Bây giờ bạn có thể làm điều đó với điều này:
ListBoxItem container = listBox.ContainerFromIndex(listBox.SelectedIndex) as ListBoxItem;
Chức năng ItemContainerGenerator.ContainerFromItem()
có vẻ như obsolete bây giờ.
Nếu bạn đã thiết lập các mục Template cho ListBox sau đó bạn có thể lấy nó từ
UIElement item= container.ContentTemplateRoot;