Основы WPF? - PullRequest
       4

Основы WPF?

6 голосов
/ 30 августа 2010

В университете мы преподаем .NET (как на VB, так и на C #) с использованием Windows Forms.Мы хотим представить концепцию Windows Presentation Foundation (WPF) нашему продвинутому курсу.Какие основы WPF нужно учить студентам, чтобы получить базовые знания о WPF?

Идея состоит в том, чтобы учащийся использовал WPF хотя бы в одном из шести заданий и изучил все эти Основы WPF кажутся немного пугающими.Какие три-четыре основы считаются обязательными?

Спасибо за ваше время!

Ответы [ 7 ]

8 голосов
/ 30 августа 2010

Вот список.Я подготовил для моего младшего программиста.

1) Основы XAML и базовые элементы управления, такие как TextBox, кнопки и т. Д.,2) VisualTree и LogicalTree3) Пузыри и туннелирование

4) DependencyProperty5) AttachedProperty

6) DataTemplate7) ControlTemplate

8) Стиль

9) Привязка данных

Триггеры: 10) EventTriggers11) DataTriggers

Основы и команды MVVM: 12) DelegateCommand13) RelayCommand14) ApplicationCommands15) RoutedEvent16) RoutedCommand

Преобразования: 17) РендерТрансформ18) LayoutTransform

Ресурсы: 19) Двоичный ресурс20) LogicalResource21) StaticResource22) DynamicResource23) RelativeResource

Панели и основные элементы управления: 24) Макеты и панели25) UserControl26) ContentControl27) Некоторые элементы управления, такие как Grid, TreeView и Charts

Интерфейсы и коллекции: 28) IValueConverter29) INotifyPropertyChanged30) ObservableCollection31) CollectionViewSource

HTH

6 голосов
/ 30 августа 2010

Я действительно не верю, что трех или четырех тем достаточно.Но говоря о высших приоритетах, я бы сказал,

  1. XAML и расширения разметки,
  2. Макет и панели,
  3. Маршрутизируемые события,
  4. Зависимость- и прикрепленные свойства.
3 голосов
/ 30 августа 2010

Если вы думаете о том, как дидактически структурировать свой курс, вам следует рассмотреть книгу Петцольда . То, как он структурирует свои главы, отлично подходит для живых курсов. Это очень хорошо настроено дидактически, и мы сделали некоторый хороший опыт, структурируя курс вокруг этой книги. Мы также убедились, что это особенно хорошо работает для людей с опытом работы в Windows Forms. Он начинается только с кода (c #) и только позже вводит XAML. Это очень помогает понять концепции фреймворка.

2 голосов
/ 30 августа 2010

Они все называются фундаментальными по причине.У вас должно быть хотя бы общее представление обо всех из них, если вы планируете создать какое-либо успешное приложение WPF.

Если бы мне пришлось выделить некоторые вещи, чтобы ваш класс мог хотя бы начатьСоздавая что-то, я бы сказал:

XAML и привязка данных - это необходимость.Свойства зависимости - близкая секунда.Все входные данные / команды / перенаправленные события также будут включены.

2 голосов
/ 30 августа 2010

Свойства зависимостей , Маршрутные события и модель макета абсолютно необходимы на мой взгляд. Привязка данных & MVVM дальше.

Я не гуру WPF, но я думаю, что технически WPF намного сложнее, чем Windows Forms, иесли ученики знакомы с более поздними версиями, будет сложно кодировать, используя «WPF-путь» (особенно, если нет html / xml фона).Я сомневаюсь, что можно написать надежный код, используя WPF, не зная некоторых его основных аспектов.WPF действительно плохой выбор для быстрого или простого пользовательского интерфейса.Для погружения требуется значительное количество учебного времени.

1 голос
/ 30 августа 2010

Хотя это весьма субъективно, я думаю, что хорошей четверкой было бы (по этой ссылке):

  • Дерево элементов и сериализация : Это совершенно новое для WinForms и WPFи понимание того, как работа визуального и логического дерева очень важна для понимания того, как все делается в WPF.
  • События (WPF) - Опять же, это существенно отличается от WinForms и приноситво всех вкусностях событийного моделирования WPF.
  • Стили и шаблоны - это то, что оживляет WPF.Все привязки к пользовательскому интерфейсу и тому подобное не попадают в эту категорию.
  • Система макетов - Ну, это WPF, не так ли?Макет является неотъемлемой частью процесса.

Помимо этого, Свойства зависимости важны, а также, по крайней мере, понимают, как работает XAML.Существует нет реальной "единственной опции", когда дело доходит до WPF.Это совершенно новый способ работы, если вы работали с такими моделями, как WinForms.Я бы постарался узнать как можно больше.

1 голос
/ 30 августа 2010

Книга Чарльза Петжолда «Applications = Code + Markup» показалась мне чрезвычайно полезной, когда я начал работать с WPF. Первая половина книги полностью посвящена C # -коду, обучающему основным понятиям WPF (свойств зависимостей, событий и т. Д.) Без каких-либо XAML. Вторая половина книги знакомит с понятием XAML и его отношением ко всему, что вы узнали в первой половине книги. Если бы я преподавал урок по WPF, я бы определенно выложил вещи таким же образом - сначала обучил понятиям в коде, а затем представил XAML.

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