Уроки WPF. Паттерн MVVM

  Рет қаралды 87,708

Программирование - это просто

Программирование - это просто

Күн бұрын

Пікірлер: 83
@uporka6924
@uporka6924 4 жыл бұрын
Можно узнать зачем тут DependencyProperty? Свойства зависимости используются для поддержки привязок, стилей, анимаций и используются больше для создания UserControl ов. У вас класс PersonsViewModel не фигурирует в XAML коде ВООБЩЕ. Для решения этой задачи достаточно обычных свойств и реализованного интерфейса INotifyPropertyChanged.
@astoriuswho8250
@astoriuswho8250 8 жыл бұрын
Курс и правда очень интересный, у вас с коллегой получаются очень достойные уроки
@valeriiladan8532
@valeriiladan8532 6 жыл бұрын
Полезное видео!! Отдельное спасибо, что помогаете другим становится лучше!!
@ПашаХЗ-м8й
@ПашаХЗ-м8й 5 жыл бұрын
Полезно. Вообще считаю, что это лучше чем win forms!
@АлександрЛукьяненко-ц1з
@АлександрЛукьяненко-ц1з 4 жыл бұрын
Здравствуйте. Включил видео, чтоб играло на фоне, и тут услышал голос Галкина.
@ТеттиИва
@ТеттиИва 3 жыл бұрын
А я все никак не могла понять, кого же слушаю))
@iuriiaksenov9361
@iuriiaksenov9361 8 жыл бұрын
Спасибо большое!!! Очень понятно, доступно! Видео очень помогло начать!
@ReasonX3
@ReasonX3 8 жыл бұрын
Спасибо за уроки! Пожелание: подобные уроки, где рассматриваются определенные паттерны и механизмы взаимодействия между элементами приложения, хотелось бы видеть в формате 7-го урока ("Пример создания приложения"). То есть, вначале теория с диаграммами, а потом практика.
@АлексейЛосев-ш8у
@АлексейЛосев-ш8у 8 жыл бұрын
+ReasonX7 Да, уже записали в таком формате, как говориться, следите за обновлениями.
@nonamechannel9991
@nonamechannel9991 8 жыл бұрын
Cпасибо за урок, очень позновательно!
@zahar_AI
@zahar_AI 7 жыл бұрын
Спасибо, интересный урок! Но так работает быстрее! If берет много ресурсов, и зачем делать отрицание И, когда можно сделать просто ИЛИ. private bool FilterPerson(object obj) { Person pers = obj as Person ; return string.IsNullOrWhiteSpace(FilterText) || pers == null || pers.LastName.Contains(FilterText) || pers.FirstName.Contains(FilterText); }
@АлександрВасильев-е1у1д
@АлександрВасильев-е1у1д 8 жыл бұрын
крутяк) жду с нетерпением новых видео) особенно жду уроков по работе с графикой) например, как сделать возможность рисовать и изменять в приложении любые объекты)
@zerg1212
@zerg1212 8 жыл бұрын
Расскажите про MVVM light toolkit. Какую инфраструктуру он создает в проекте и как ей правильно пользоваться?
@bohgdanlion4521
@bohgdanlion4521 8 жыл бұрын
Спасибо за урок, очень кстати. Лайк.
@engine4053
@engine4053 2 жыл бұрын
В 2022 году смотрю, до сих пор актуально
@Catful
@Catful 7 жыл бұрын
Как будто вернулась на лекцию к Алексею Юрьевичу =)
@DukeSpontaneous
@DukeSpontaneous 8 жыл бұрын
При попытке присвоить обработчик ICollectionView.Filter к DataTable.DefaultView у меня стабильно выбрасывается следующее исключение: "Необработанное исключение типа "System.NotSupportedException" в PresentationFramework.dll Дополнительные сведения: Указанный метод не поддерживается." IDE: Microsoft Visual Studio Community 2015 В чём причина?
@Hadouken247
@Hadouken247 8 жыл бұрын
Хотелось бы хороших уроков по фреймворку Prism или MVVM Light.
@rus79k26
@rus79k26 8 жыл бұрын
+Макс Зимин Или Catel
@Алексей-х4ж5т
@Алексей-х4ж5т 6 жыл бұрын
А зачем вообще нужен этот MVVM Light? Какие он даёт преимущества, чтобы можно было потерпеть неудобства связанные с его использованием?
@eliasGuds
@eliasGuds 7 жыл бұрын
Какая комбинация клавиш меняет тип во всём куске кода, как на 5:07 ?
@fisherman7964
@fisherman7964 8 жыл бұрын
Спасибо! Очень доступно)
@MrIliaborisov
@MrIliaborisov 8 жыл бұрын
подскажите пожалуйста пытаюсь как в видеоуроке передать в CollectionViewSource.GetDefaultView объект типа List .. а там все равно null остается ..правда список из 8000 элементов.. но он пишет что там null в Items..
@АлексейЛосев-ш8у
@АлексейЛосев-ш8у 8 жыл бұрын
+MrIliaborisov Нужен кусок кода что вы делаете, задайте вопрос на форумах msdn.ru, если не я, то другие участники вам обязательно помогут.
@DarthVader100500
@DarthVader100500 4 жыл бұрын
А как сделать ту самую связку между View и ViewModel, так чтобы View не знала о ViewModel? подскажите пожалуйста
@ДаниилСафронов-е8т
@ДаниилСафронов-е8т 7 жыл бұрын
ХОЧУ ЕЩЁ!!!!! хотя учитывая что последний урок был год назад, то продолжение не предвидится. Но на всякий случай подписался. А Dem Bulson пускай свое видео сделает так как он считает нужным. Хотя вряд ли меня заинтересует видео в формате "это перетащите сюда, а здесь не забудьте поставить запятую..." Терпеть не могу когда много воды.
@ReasonX3
@ReasonX3 8 жыл бұрын
А есть в планах, создание серии видео, где вы совместно разрабатываете приложение? Хотелось бы увидеть, как люди с опытом, работают вместе: как делятся задачи, какие требования к архитектуре приложения для возможности нормального распределения труда, как решается вопрос рефрактора и и.д.
@АлексейЛосев-ш8у
@АлексейЛосев-ш8у 8 жыл бұрын
+ReasonX7 Пока в планах такого нет, да и видео продолжительностью часов в 10 чтобы показать основные моменты маловероятно будут смотреть. А вот записать небольшие туториалы по командной разработке... Подумаем.
@AnaRxistBoD
@AnaRxistBoD 5 жыл бұрын
@@АлексейЛосев-ш8у Я понимаю, что это уже некропостинг, но я бы посмотрел бы такое видео. Было бы очень интересно. А по поводу длительности: куча людей смотрит видео турниров по героям 3, а там и по 12 часов видео бывают и по 18=))
@АлексейЛосев-ш8у
@АлексейЛосев-ш8у 5 жыл бұрын
@@AnaRxistBoD Парное программирование в чистом виде не используем, а вот разбиение на задачи, это командный процесс. Аналитик пишет требования, разработчики разбивают его на задачи, задают уточняющие вопросы, оценивают их. Ну и потом каждый идет и решает свою задачу, обращаясь за помощью при затыке. Перед коммиттом еще ревью проводится, но это опять каждый за своим компьютером, переписка в комментариях к коду. Посмотреть как проектируется архитектура - тоже довольно скучно. Собираются люди, обсуждают требования, рисуют что-то на доске. Потом расходятся, рисуют что-то в редакторах, обмениваются, обсуждают, перерисовывают, собираются обсуждают какие езе требования есть, потом приходит совсем неожиданное требование, перерисовывают.Самое обидное, когда архитектуру приходится сильно менять когда уже код написан :)
@ИванДмитриев-и5ш
@ИванДмитриев-и5ш 7 жыл бұрын
Правильно ли я понимаю что все данные лежат в window.DataContext и ViewModel туда подмешивает нужные значения, а Grid просто содержимое DataContex выводит?
@ПростоУлыбка-ш2о
@ПростоУлыбка-ш2о 4 жыл бұрын
почему забросили уроки?
@mozgotrahable
@mozgotrahable 8 жыл бұрын
Ну здрасьте приехали. А как же INotifyPropertyChanged? Новые депенденси проперти, обычно, добавляют в кастомные контролы, насколько мне известно
@akass4010
@akass4010 8 жыл бұрын
+Андрей Телешев О как, подскажете как это сделать?
@АлексейЛосев-ш8у
@АлексейЛосев-ш8у 8 жыл бұрын
+Антон Грибов В лекции с примером полной сборки приложения на MVVM будет и про INotifyPropertyChanged. Но если в двух словах, то INotifyPropertyChanged менее требователен по памяти, а Dependecy Property быстрее работает с Binding.
@sledleo
@sledleo 6 жыл бұрын
Алексей Лосев, подписался на Ваш Ютуб канал, хоть на нём нет видео). Нам новичкам важно слышать мысли профи, мне так проще воспринимать материал. Жду Ваши видео.
@lIe4eHbKa
@lIe4eHbKa 6 жыл бұрын
не удалось найти тип или имя пространства имен icollectionview
@Legi0n13
@Legi0n13 7 жыл бұрын
Привет. А продолжения походу не будет?
@romazherdev
@romazherdev 8 жыл бұрын
Как подписываться на события согласно паттерну MVVM? Двойной клик по той же кнопке просто неприемлем, насколько я знаю.
@Jekklo
@Jekklo 7 жыл бұрын
СУПЕР!!!!!
@Maximurz1k
@Maximurz1k 8 жыл бұрын
Наконец-то!
@Dude-iz2dw
@Dude-iz2dw 7 жыл бұрын
Откуда взялся интерфейс ICollectionView ? Я подключал неймспейс System.Windows.Data его всеравно не находит.
@Dude-iz2dw
@Dude-iz2dw 7 жыл бұрын
Аааа он в пространстве System.ComponentModel
@ВладКасперович-щ2л
@ВладКасперович-щ2л 8 жыл бұрын
А где нибудь есть уже готовые шаблоны всех элементов ? Не каждый может себе сделать красивый интерфейс.
@green16go
@green16go 8 жыл бұрын
Влад Касперович, есть множество различных готовых библиотек компонентов, шаблонов, например www.telerik.com/products/wpf/overview.aspx
@DS88579
@DS88579 8 жыл бұрын
mahapps.com/
@sviatoslav3347
@sviatoslav3347 8 жыл бұрын
Дайте пожалуста совет начинающему програмисту. Стоит передо мной задача написать проект с использованием БД. Так вот вопрос: стоит ли мне изучать все уроки С# или можна пропустить или перескочить некоторые и изучить EF и LINQ сразу. Мне кажется что я не буду в своем проекте пользоваться наследованием и делегатами. Или у меня неправильный подход. Заразние спасибо за ответ и за видео которые Вы делаете.
@Defazze
@Defazze 8 жыл бұрын
+Svyatoslav изучение EF и LINQ автоматически приведет Вас к изучению наследования и делегатов. Если, конечно, Вы будете изучать эти технологии серьезно, а не по верхам. Поэтому я бы всё-таки посоветовал начать с наследования, делегатов, интерфейсов, множеств, лямбда-выражений, а потом EF и LINQ.
@igorcheglakov333
@igorcheglakov333 3 жыл бұрын
2:05 Как автор так быстро копирует строку с new Person?
@alexandersolomovych4008
@alexandersolomovych4008 3 жыл бұрын
ctrl+d
@WarnerBrosers
@WarnerBrosers 6 жыл бұрын
Круто, конечно, но как теперь эту фильтрующуюся коллекцию менять?
@sergejstreck7026
@sergejstreck7026 6 жыл бұрын
А у меня в VS 2017 при запуске программа выдает ошибку: "System.InvalidOperationException: Коллекция Items должна быть пустой перед использованием ItemsSource."
@АнжейКовальски
@АнжейКовальски 8 жыл бұрын
Спасибо! Очень интересное и полезное видео.Если можно расскажите как с помощью DependencyObject управлять видимостью столбцов в DataGrid.
@zergzerg4844
@zergzerg4844 3 жыл бұрын
Тоесть научили как не надо делать, а как теперь правильно строить проект по патерну?
@mrSmith-lc7hk
@mrSmith-lc7hk 3 жыл бұрын
720p Серьезно?
@KBA696
@KBA696 8 жыл бұрын
Не сталкивался с депендро пропертем подскажите в чем его преимущество чем если бы мы просто написали string _FilterText; public string FilterText { get{return _FilterText;} get{_FilterText=value;//а дальше поизвести фильтрацию Items методои LINQ} }
@user13496
@user13496 8 жыл бұрын
Вроде попонятнее рассказано, чем перед этим читал про mvvm на сайте professorweb
@madwolf_by4355
@madwolf_by4355 6 жыл бұрын
Поражают хэйтеры. Если вы знаете реализацию INotifyPropertyChanged, зачем вы вообще смотрите эти уроки? Значит все-таки заинтересовало ....
@cheguevara1260
@cheguevara1260 8 жыл бұрын
тяжело но питательно... очень
@couch_coach
@couch_coach Жыл бұрын
Хорошие видео, но мне так не нравится, когда говорят "вы так никогда не делайте, это только для примера", и ты в итоге не понимаешь потому что это учить не хочется, раз так все равно делать не надо, а как надо "мы потом покажем", ну почему сразу не показать как правильно
@maximanonim8296
@maximanonim8296 4 жыл бұрын
Он патао, массивы називает коллекциями, а обекти класами
@РусланГаллямов-и9х
@РусланГаллямов-и9х 2 жыл бұрын
Программирование - это просто.... Очень бл..ть, просто.
@kodagen
@kodagen 3 жыл бұрын
Скачуєте пакет Prism і цього всього не треба. Це так, чисто з метою ознайомлення
@msv1963
@msv1963 11 ай бұрын
Нахожу это видео бесполезным. Просмотр этого видео начинающими никак не поможет им осознать суть MVVM и применять его в своих программах. В лучшем случае они могут попытаться самостоятельно набрать приведенный здесь пример и потом долго размышлять что им дает этот подход. Заменить сетку на список в качестве элемента отображения и при этом ничего не менять в коде может и прикольно с точки зрения демонстрации независимости отображения от данных, но на практике никак не упрощает и не ускоряет разработку. Ну, разделили и что с этого? Планируем периодически зачем-то менять внешний вид окна, заменяя одни компоненты другими и при этом не трогать остальной код? А с первого раза нельзя так спроектировать UI, чтобы потом не требовалось его менять? И если не требуется его менять, то что мне еще дает этот паттерн. Может что-то и дает, но из этого видео это не очевидно.
@ГеоргКорнев-м8э
@ГеоргКорнев-м8э 5 жыл бұрын
ничего не биндится. Повторяю строка к строке. Автор что-то умалчивает. Ссылка из XAML на свойство зависимости во ViewModele не работает. Свойство открытое. С такими уроками можно 300 лет учиться. Учусь 5-й год. Каналы типа "Программирование это просто" звучат издевательски. Обучение стоит больших денег. Учат толпу, индивидуального подхода нет, видеоуроки редко бывают удачные, в основном галопом по европам. Автор канала - двуличный лицемер.
@MarsBarBS
@MarsBarBS 10 ай бұрын
Раздутое видео, для новичка, который умеет только с WinForms работать вообще информации 0
@inc6497
@inc6497 7 жыл бұрын
Это эквивалентно: !( a || b) !a && !b
Уроки WPF. Основы разметки
21:00
Программирование - это просто
Рет қаралды 101 М.
Cheerleader Transformation That Left Everyone Speechless! #shorts
00:27
Fabiosa Best Lifehacks
Рет қаралды 15 МЛН
“Don’t stop the chances.”
00:44
ISSEI / いっせい
Рет қаралды 57 МЛН
She made herself an ear of corn from his marmalade candies🌽🌽🌽
00:38
Valja & Maxim Family
Рет қаралды 17 МЛН
WPF+MVVM на примере игры 2048.
27:34
Юрий Силенок
Рет қаралды 1,7 М.
[C#] WPF MVVM. Реализация
13:44
BashkaMen Programming
Рет қаралды 68 М.
Уроки WPF. Таблицы и списки
15:45
Программирование - это просто
Рет қаралды 50 М.
Когда Нарцисс Знает Что Вы Знаете - Он Теряет Контроль
25:32
Преодоление Нарциссизма
Рет қаралды 10 М.
Как стать ДЕЙСТВИТЕЛЬНО хорошим программистом
7:35
Бинарный происк
Рет қаралды 145 М.
Основы паттерна MVVM на примере WPF
19:28
АйТи Гопник
Рет қаралды 2,7 М.
Cheerleader Transformation That Left Everyone Speechless! #shorts
00:27
Fabiosa Best Lifehacks
Рет қаралды 15 МЛН