Как получить TabItems в TabControl, который имеет свой ItemsSource, связанный со списком? - PullRequest
4 голосов
/ 09 марта 2012

У меня есть TabControl с привязкой табуляции к списку:

<TabControl ItemsSource="{Binding SomeList}" />

Как найти экземпляры TabItem?Я нашел другие ответы, которые предлагают посмотреть на список TabControl.Items, но он полон Foos.Есть идеи?

Ответы [ 3 ]

8 голосов
/ 22 ноября 2013

Если, например, вам нужно получить фактический TabItem, связанный с SelectedItem (который является связанным объектом), вы можете использовать ItemContainerGenerator в качестве упомянутого HB

var tabItem = this.ItemContainerGenerator.ContainerFromItem(selectedObject);
5 голосов
/ 09 марта 2012

Этот вопрос задают довольно часто, и ответ всегда таков: Не делайте этого.

Теоретически вам не нужно нужен экземпляр TabItemпотому что вы должны связать все, что вам нужно изменить.(Также теоретически вы можете получить экземпляр, используя ItemContainerGenerator)

1 голос
/ 09 марта 2012

Давным-давно у меня была похожая проблема с деревом в wpf. Я решил это, используя ItemContainerGenerator. Если вы хотите, вы можете взглянуть на мое решение, возможно, оно поможет вам в вашей проблеме: Как выбрать привязанный к данным TreeViewItem?

Но я думаю, что H.B. прав в своем утверждении: «[..] вам не нужен экземпляр TabItem, потому что вы должны связать все, что вам нужно [..]»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...