Передача значения TextBox в IValueConverter, используемый другим элементом управления с привязкой к данным в Silverlight 3? - PullRequest
0 голосов
/ 29 октября 2010

У меня есть элемент управления Silverlight 3, в котором я использую ItemsControl для отображения списка элементов. Я реализовал текстовое поле «фильтр» или «поиск», которое позволяет пользователю вводить поисковый термин в текстовое поле элемента управления, который будет ограничивать элементы, отображаемые в ItemsControl, элементами, которые содержат строку, введенную в текстовое поле. Мне удалось реализовать эту функцию, но я хотел бы улучшить ее, изменив цвет текста поискового термина в тексте, который отображается в элементе управления элементами. Например, если пользователь вводит «foo» в текстовое поле поиска, я хотел бы отфильтровать элементы в ItemsControl (что я уже делаю) для элементов, содержащих «foo», и изменить цвет фона подстроки «foo». "где это происходит в ItemsControl.

В идеале, я бы реализовал IValueConverter и передавал значение в текстовом поле поиска в качестве параметра для конвертера. Затем конвертер может найти значение, которое конвертируется, и изменить цвет фона всех подстрок "foo" (пока не уверен, как я собираюсь это сделать, возможно, что-то с Inlines?). Кажется, значения параметров, передаваемые преобразователям значений, должны быть статическими ресурсами. Есть ли способ передать нестатическое значение в преобразователь значения, чтобы выполнить то, что я пытаюсь сделать? Есть ли другой способ, которым я должен идти об этом, который не использует IValueConverter?

1 Ответ

0 голосов
/ 29 октября 2010

Имейте в виду, я еще не до конца разработал, но я делаю что-то похожее в своем приложении, используя Interaction.Behaviors.Это немного более гибко, чем решение с прямым преобразователем.В моем решении я использую его для выделения ячеек и / или текста в сетке на основе различных условий (например, является ли это критическим элементом? Сделайте его красным).

Посмотрите на эту запись в блоге, объясняетэтот процесс достаточно хорош и должен применяться не только к Telerik RadGridView.(К вашему сведению, вам нужно добавить ссылку на System.Windows.Interactivity)

Блог

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