Наследование стилей в пользовательских элементах управления WPF - PullRequest
0 голосов
/ 23 апреля 2010

У меня есть сетка данных, и некоторые столбцы должны содержать текст, связанный с подробным окном. Итак, чтобы сделать это немного проще для себя, я создал UserControl, который в основном представляет собой кнопку с шаблоном элемента управления, который содержит TextBlock (я мог бы сделать это несколькими другими способами, я знаю, но я решил, что кнопка уже выставляет событие Click, так почему бы и нет?). Однако, когда дело доходит до стиля, все становится немного странно: я бы хотел придать тексту «гиперссылочный» формат - синий текст, подчеркнутый - чтобы было понятно, что это ссылки (также, чтобы они напоминают формат в унаследованном приложении WinForms, которое я заново реализую). Но я также хотел бы иметь возможность стилизовать текст - в идеале, он должен захватывать такие вещи, как цвет текста, если цвет текста установлен в стиле родительской ячейки.

По сути, существует простой способ реализовать пользовательский UserControl, который будет: а) извлекать стили из родительского элемента и б) применять стили по умолчанию с низким приоритетом, то есть применять только определенный стиль, если его еще нет. установить от родителя? Я знаю, что могу передать стиль родителя вручную через привязку, но мне было интересно, есть ли более простой способ.

1 Ответ

0 голосов
/ 11 мая 2010

Похоже, вам нужно создать для этого настоящую реализацию Control или ContentControl, чтобы вы могли переопределить истинные стили и шаблоны.

UserControls на самом деле не являются стилевыми, если только вы не начнете каким-либо образом создавать собственные свойства для привязки стилей ... но ничего из этого не будет неявным.

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