| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > WPF и Silverlight > DataGridTextColumn выделение текста |
| Автор: interv 29.7.2013, 08:46 |
| Необходимо в DataGridTextColumn сделать доступным выделение текста, т.е. сделать возможным выделение текста в TextBlock. Спасибо. |
| Автор: dzaraev 29.7.2013, 09:42 |
| Весьма расплывчато сформулирован вопрос. Потому что - нельзя и не имеет смысла. И что-то мне подсказывает, что задача на самом деле в другом. Во время редактирования текст и так можно выделить, но в это время грид генерирует TextBox и вы работаете с ним. Так все-таки что именно нужно? |
| Автор: interv 29.7.2013, 10:12 | ||
| Еще раз: колонка стоит в ReadOnly = True, соответственно TextBox в принципе появиться не может. Мне необходимо выделить часть текста в ячейке, Тип колонки DataGridTextColumn. Есть свойство ElementStyle, но в нем невозможно заменить textblock на textbox. Если бы это было возможно, то задача решалась бы применением к TextBox стиля:
|
| Автор: dzaraev 29.7.2013, 11:28 | ||||||
| Могу предложить два варианта: 1) Использовать DataGridTemplateColumn (вместо DataGridTextColumn). Внутри свойства CellTemplate можете вставлять хоть TextBox, хоть еще один грид, что хотите:
Минус - придется самому управлять логикой редактирования ячеек, не будет генерироваться специального контрола для редактирования и т.п. 2) Перегрузить DataGridTextColumn и его метод GenerateElement, в котором сгенерировать TextBox только на чтение:
В обоих случаях есть главный недостаток - визуальный стиль элемента будет как у TextBox конечно же. Поэтому придется сделать и установить свой стиль для TextBox.Style, чтобы сделать его похожим на TextBlock. |
| Автор: interv 29.7.2013, 12:57 |
| Второй вариант более приемлем! спасибо! |