![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| hexzo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
Мне нужно быстренько, на небольшой промежуток времени в ListView добавить нетиповой элемент, а потом убрать его оттуда.
panelA.Items.Add(new TextBox()); А мне в ответ, что как бы нельзя, используй вместо этого ItemsSource. Operation is not valid while ItemsSource is in use. Access and modify elements with ItemsControl.ItemsSource instead. Цель такова. 1) Список отображает содержимое файловой системы. 2) Когда нужно создать директорию, я добавляю в список textbox куда вводится имя файла. 3) А когда вся нужная от него информация получена, убирается оттуда. Как это осуществить с наименьшим гемороем? |
|||
|
||||
| Gvozdin |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 9.8.2011 Где: Москва Репутация: 8 Всего: 8 |
в стиле MVVM или MVP попробуйте
представьте директорию своим классом и если директория будет новой(добавить её в ItemsSource вместе с настоящими директриями), то для неё отдельный шаблон с текст боксом c возможностью ввода названия --------------------
http://gvozdin.ru |
|||
|
||||
| hexzo |
|
||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
Gvozdin
Примерно так и есть.
Как вариант я могу в классе для файла завести флажок в зависимости от которого триггер данных в стиле для элемента будет включать соответствующий шаблон. Но я не въехал в один момент. Куда мне пихать шаблон? Я могу указать шаблон для элемента в свойстве ItemTemplate класса ListView.
Но если у меня использовано свойство View в котором у меня определены колонки, то свойство ItemTemplate работать перестаёт.
В классе GridView я вижу свойство GridViewItemContainerStyleKey. Но оно почему то статическое. А в документации в его описании даже нет примера использования. И что с ним делать? Это сообщение отредактировал(а) hexzo - 24.8.2011, 19:06 |
||||||||
|
|||||||||
| hexzo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
Надо шаблон пихать в CellTemplate.
|
|||
|
||||
| hexzo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
Блин, а где свойство для стиля?
|
|||
|
||||
| Gvozdin |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 9.8.2011 Где: Москва Репутация: 8 Всего: 8 |
Если вы делаете флаг IsNew у директории, то вам надо сделать в DataTemplate тригер который отобразит TextBox(скроет TextBlock).
--------------------
http://gvozdin.ru |
|||
|
||||
| hexzo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
Gvozdin
Тока триггер же должен быть в стиле, а свойства для стиля там нет. Но зато есть свойство CellTemplateSelector. У меня просто слов на это wpf не хватает. Это сообщение отредактировал(а) hexzo - 25.8.2011, 10:30 |
|||
|
||||
| Gvozdin |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 9.8.2011 Где: Москва Репутация: 8 Всего: 8 |
Да вот так сделайте, какой стиль?
И вообще хочу сказать что ListView был актуален когда не было DataGrid, сейчас же для гридов лучше использовать DataGrid. Очень хороший контрол, проблем с ним почти нет. Это сообщение отредактировал(а) Gvozdin - 25.8.2011, 10:38 --------------------
http://gvozdin.ru |
|||
|
||||
| hexzo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
Gvozdin
А я так сам шаблон не переопределю. Наверное. Спасибо за помощь. В итоге я решил, что лучше воспользоваться GreedViewColumn.CellTemplateSelector. |
|||
|
||||
| Gvozdin |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 9.8.2011 Где: Москва Репутация: 8 Всего: 8 |
Тоже вариант, но минус этого в том, что нельзя будет как в тригере по изменению свойства поменять сразу шаблон
--------------------
http://gvozdin.ru |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |