Почему в WPF нет визуального наследования? - PullRequest
7 голосов
/ 03 апреля 2009

В Windows Forms иногда было полезно иметь одно окно, унаследованное от другого. Но в WPF это запрещено. Почему нет визуального наследования для окон WPF?

Ответы [ 3 ]

5 голосов
/ 20 сентября 2012

Причина, по которой WPF не поддерживает визуальное наследование, заключается в том, что дизайн формы достигается с помощью разметки (.xaml), а не winforms, которые используют код для создания макета. Код позади является расширяемым, а разметка - нет. То же самое касается веб-форм. Главные страницы в asp.net предлагают квази визуальное наследование. Таким образом, это компромисс, разметка предлагает преимущество четкого разделения макета и данных, в то время как выделенный код обеспечивает визуальную расширяемость. Это немного стыдно, так как визуальная расширяемость хорошо работает для создания согласованности в графическом интерфейсе и очень быстрой разработки. Ну, кажется, вспышка более востребована, чем функциональность. WPF просто в порядке ...

2 голосов
/ 03 апреля 2009

В WPF были предприняты большие усилия для отделения визуального от логического. Из-за этого существует БОЛЬШАЯ свобода в том, чтобы пользовательский интерфейс выглядел так, как вы хотите. Все элементы управления, в том числе окна, «безликие». Вы можете предоставить свой собственный вид с помощью шаблонов и стилей. Был предоставлен визуальный стиль по умолчанию, который делает все, что вы ожидаете, но вам не нужно его использовать.

2 голосов
/ 03 апреля 2009

WPF сознательно очень сильно отличается от Windows Forms. Модель компоновки основана не на Windows, а на таких классах, как Объект зависимостей , Визуальная , UIElement . Вы также можете существенно изменить поведение существующих вещей, используя шаблоны управления, стили, привязку данных и другие методы.

Я призываю вас экспериментировать! WPF очень прост в создании прототипа с

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