В университете мы преподаем .NET (как VB, так и C #) с использованием Windows Forms. Мы хотим представить концепцию Windows Presentation Foundation (WPF) нашему продвинутому курсу. Какие основы WPF нужно учить студентам, чтобы получить базовые знания о WPF?
Идея состоит в том, чтобы учащийся использовал WPF хотя бы в одном из шести заданий и изучил все эти Основы WPF кажется немного пугающим. Какие три-четыре основы считаются обязательными?
Спасибо за ваше время!
Я действительно не верю, что трех или четырех тем достаточно. Но говоря о наивысших приоритетах, я бы сказал:
Если вы думаете о том, как дидактически структурировать свой курс, вам следует рассмотреть книгу Петцольда. То, как он структурирует свои главы, отлично подходит для живых курсов. Она очень хорошо отлажена с дидактической точки зрения, и мы получили хороший опыт, структурируя курс на основе этой книги. Мы также убедились, что это особенно хорошо работает для людей, имеющих опыт работы с Windows Forms. Он начинается только с кода (C#) и только позже представляет XAML. Это очень помогает понять концепции фреймворка.
Не зря все они называются фундаментальными. У вас должно быть хотя бы общее представление обо всех них, если вы планируете создать какое-либо успешное приложение WPF.
Если бы мне нужно было выделить некоторые вещи, чтобы ваш класс мог хотя бы приступить к созданию чего-то, я бы, вероятно, сказал:
XAML и привязка данных являются обязательными. Свойства зависимостей занимают второе место. Ввод/команды/маршрутизируемые события также будут включены.
Свойства зависимостей, Маршрутизированные события и модель макета абсолютно необходимы, на мой взгляд. Далее идут Привязка данных и MVVM.
Я не гуру WPF, но я думаю, что технически WPF намного сложнее, чем Windows Forms, и если студенты будут знакомы с более поздними версиями, будет сложно кодировать, используя «WPF-способ» (особенно , если нет фона html/xml). Я сомневаюсь, что с помощью WPF можно написать надежный код, не зная некоторых его основных аспектов. WPF действительно плохой выбор для быстрого или простого пользовательского интерфейса. Чтобы погрузиться в нее, требуется значительное количество времени на обучение.
Когда я начал работать с WPF, мне очень помогла книга Чарльза Петцхольда "Приложения = код + разметка". Первая половина книги полностью написана на C#, в ней изучаются основные понятия WPF (свойства зависимостей, обработка событий и т. д.) без какого-либо XAML. Вторая половина книги знакомит с концепцией XAML и ее связью со всем, что вы узнали в первой половине книги. Если бы я вел курс по WPF, я бы определенно изложил все таким же образом — сначала преподавал концепции в коде, а затем вводил XAML.
Хотя это довольно субъективно, я думаю, что хорошая четверка будет (из этой ссылки):
Помимо этого, важны Свойства зависимостей, а также как минимум понимание того, как работает XAML. Когда дело доходит до WPF, нет реального «единственного варианта». Это совершенно новый способ ведения дел, если вы работали с такими моделями, как WinForms. Я бы постарался узнать как можно больше.