Я пытаюсь выделить часть текста в текстовом блоке из таблицы данных listbox, которая, в свою очередь, ограничена свойством пользовательского класса, используя текстовое поле для поиска в списке для ввода текста.
Но проблема в том, что выделяется только часть элементов (большинство из них видны), но когда я максимизирую окно и пытаюсь ввести другого персонажа, тогда внезапно все они будут подсвечены моей догадкой, где проблема может быть в этом кусок кода:Выделите часть текста в текстовом блоке, не работающем во всех listboxItems
ListBoxItem listboxItemFound= (ListBoxItem)this.listBox1.ItemContainerGenerator.ContainerFromItem(TItem);
Поскольку этот метод возвращает нуль, когда элементы не видны, но детали в настоящее время в ListBox.
Как-то я догадываюсь, что экземпляры listboxItem еще не созданы, пока вы не прокрутите вниз или не увеличьте число, чтобы просмотреть больше предметов.
XAML DataTemplate:
<DataTemplate>
<Grid Name="gridOfListbox" Height="25" Margin="0,2">
<DockPanel Name="dockpanelWithTxtBlock">
<TextBlock Name="textbloxk" DockPanel.Dock="Left" FontSize="15" TextAlignment="Center">
<Run Text="" /><Run Background="Yellow" Text="" /><Run Text="{Binding ProductID}" />
</TextBlock>
</DockPanel>
</Grid>
</DataTemplate>
Если больше кода необходимо просто дайте мне знать.
Любая помощь будет принята с благодарностью!
Также, если есть другой лучший способ найти listboxItem, ограниченный пользовательским элементом, просто дайте мне знать. Большое спасибо!
[Pic проблемы] http://i.stack.imgur.com/HViag.png
Да, 'ListBoxItem' создаются по мере необходимости по умолчанию. Это улучшает использование и производительность памяти. Почему вам нужно найти «ListBoxItem», чтобы выделить часть текста в нем? – Andy
Привет, за ваш быстрый ответ. Потому что мне нужно найти текстовый блок (выделить текст), связанный с этим listboxItem (который связан с пользовательским классом), поскольку текстовый блок находится в dataTemplate и недоступен в коде. Что ты предлагаешь? Может быть, если есть способ заставить все экземпляры listboxItems? если вам нужно больше кода, я могу отправить вас, чтобы мы лучше поняли. – Merv
Подсветка имеет смысл только для видимых элементов – AnjumSKhan