[WPF] Отключить custom стиль для конкретного контрола
От:
Аноним
Дата:
16.11.10 02:57
Оценка:
Доброе время суток. Пишу приложение с использованием wpf, использую стиль Expression Dark из пакета wpf themes. Написана своя панель, по сути wrap panel с измененным способом расположения элементов(наследуется от Panel). При использовании системного стиля все хорошо, располагается так как нужно. Однако, в боевом приложении элементы располагаются как в обычном StackPanel друг под другом. Элемент используется как ItemsPanel для ListBox. Вопрос: Как включить системный стиль для конкретного ItemsPanel конкретного ListBox в приложении.
Здравствуйте, Аноним, Вы писали:
А>использую стиль Expression Dark из пакета wpf themes. Написана своя панель, по сути wrap panel с измененным способом расположения элементов(наследуется от Panel). При использовании системного стиля все хорошо, располагается так как нужно. Однако, в боевом приложении элементы располагаются как в обычном StackPanel друг под другом. Элемент используется как ItemsPanel для ListBox.
А>Вопрос: Как включить системный стиль для конкретного ItemsPanel конкретного ListBox в приложении.
Таак... я правильно понимаю, что вы хотите заменить ItemsPanel у ListBox'а с VirtualizingStackPanel(по умолчанию — она) — на свою панель? Зачем вам тогда системный стиль? Просто укажите нужный ItemsPanelTemplate и всё
Re[2]: [WPF] Отключить custom стиль для конкретного контрола
От:
Аноним
Дата:
16.11.10 03:30
Оценка:
Здравствуйте, Sinix, Вы писали:
S>Таак... я правильно понимаю, что вы хотите заменить ItemsPanel у ListBox'а с VirtualizingStackPanel(по умолчанию — она) — на свою панель? Зачем вам тогда системный стиль? Просто укажите нужный ItemsPanelTemplate и всё
Скорее всего панель заменилась (поставьте в AnimatedWrapPanel брякпойнт на ArrangeOverride), но работает неверно.
Re[4]: [WPF] Отключить custom стиль для конкретного контрола
От:
Аноним
Дата:
16.11.10 04:11
Оценка:
Здравствуйте, Sinix, Вы писали:
S>Скорее всего панель заменилась (поставьте в AnimatedWrapPanel брякпойнт на ArrangeOverride), но работает неверно.
Да, вы правы, так и есть, заменилась. Тогда появляется новый вопрос: А как вставить мою панель так, чтобы она заменила стандартную, не переопределяя при этом стили приложения?
Или хотя-бы переписать их так, чтобы по умолчанию была VirtualizingStackPanel но, чтобы ее легко можно было заменить на любую другую панель?
Здравствуйте, Аноним, Вы писали:
А>Часть кода стиля
А, ну всё как всегда, аффтору темы expression dark руки оторвать от задницы и никуда не пришивать. Хотя он и так безрукий