Мощные уроки! Павел -огромное спасибо и побольше Вам добра!
@-USER_NAME2 жыл бұрын
Спасибо большое. Помимо WPF количество дополнительной ( ценнейшей информации ) просто зашкаливает . Буду качать все уроки на диск , так они сохранее будут .
@Дмитрийм-л7ф4 жыл бұрын
Классная серия уроков. Спасибо.
@Greiv20083 жыл бұрын
Чтобы достаточно быстро что то напрограммировать нужно очень много знать просто наизусть из разметки, иначе всё идёт через время и боль как у меня)). Видео самые лучшие из серии MVVM, остальное такой хлам, кстати есть есть ещё поле PasswordBox по моему, я его убрал пока из свого проекта потому что с ним я так понимаю вообще какаето дикая история при использовании MVVM))
@Shmachilin3 жыл бұрын
Так в любой области что бы что-то начало получаться, надо потратить 10 000 часов. По себе заметил что после знакомства с новой технологией только через год ежедневной работы с ней более-менее исчезают детские проблемы, через два года можешь сам что-то изобретать и подмечать ошибки у других, а через три года можно считать что ты в ней более-менее разобрался. Это как раз примерно 10 000 часов и есть.
@VyacheslavTamplier3 жыл бұрын
Павел, не думали свои курсы организовать? А то курсов сейчас всевозможных много развелось, но многие из них оставляют желать лучшего. Думаю, у Вас бы отличный курс получился. Я бы точно пошел, чтобы закрепить знания в C#.
@riyazvagapov1449 Жыл бұрын
Павел, здравствуйте. А что думаете насчет вышедшего MAUI?
@__Goodwin__2 жыл бұрын
Отличное видео! Спасибо! Если не сложно подскажите пожалуйста. Есть связанные по ключу поля БД, есть основная форма с текстблоком, и форма редактирования с комбобоксом. Через Linq to SQL, сформированы классы. При привязке одного свойства к комбобоксу и текстбоксу, возникает исключение, что одно свойство связано с 2мя граф. элементами. Как правильно поступить в данной ситуации? Делать ещё одно поле в БД не правильно мне кажется. Если делаю новое свойство и в классе sql присваиваю ему значение, ошибка та же (. Уже голову сломал. Может подскажете хоть в какую сторону копать ?
@Shmachilin2 жыл бұрын
Здравствуйте! Во-первых, Вам надо отделить мух от котлет. Интерфейс должен быть отдельно, База данных отдельно. Добавление поля ввода, или чек-бокса на экран никак не должно влиять на базу данных. Создайте полноценную модель-представления. И в ней руководите Базой данных. Сразу куча ошибок уйдёт. Базу данных отладить надо в консольном приложении.
@__Goodwin__2 жыл бұрын
@@Shmachilin это всё отделено, может я не совсем корректно выражаюсь. Я генерирую сущносные классы БД Linq to SQL. Обрабатываю данные в классе viewmodel, селектирую, группирую, сортирую не важно ... полученный экземпляр класса подсовываю к datacontext формы. При изменении в бд возникает событие в свойстве сгенерированного автоматически класса и вызывается фунция SendPropertyChanged("имя"), которое оповещает окно об изменении. Если я просматриваю данные, проблем нет, в 2 разных формах у меня привязанные свойства обновляются и сама бд и логика работает правильно. Но если я в одной форме, пытаюсь присвоить свойству новое значение, которое так же привязано к другому графическому элементу формы, этот код: if(this.ИМЯ.HasLoadedOrAssignedValue == true) Генерирует исключение System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException() Причем связано это именно с binding-гом этого свойства к 2м элементам. Если я отвязываюсь от одного элемента, все работает как надо.
@__Goodwin__2 жыл бұрын
И это ситуация получается только при отношении "один ко многим"
@TheMilliardo4 жыл бұрын
Здравстуйте Павел. Недавно начал смотреть ваши видео так как нашел работу под WPF. По немножку осваиваю МВВМ и никак не пойму как правельно работать с окнами. Прочел много где про юзерконтролы и как их применить в мввм, но везде одно и тоже. Один меню с какойто стороны и меняешь их в окне. Можно будет обьяснить нормально что да как или же есть видео и я пока что не дошел до него.
@Shmachilin4 жыл бұрын
Здравствуйте! Напишите какую конкретно задачу пытаетесь решить и что непонятно.
@TheMilliardo4 жыл бұрын
@@Shmachilin не пойму как правильно сделать навигацию в мввм. Сейчас использую одно окно и загружаю в неё страницы сколько надо. Но на сколько я прочёл и смотрел в ютубе мне вообще только юзеркотролы надо. Пфтаюсь сделать простую программку, которое при запуске просит пароль для входа(из базы данных) а потом переход на главную страничку. От туда на другие страницы и обратно на главную.
@АртемИванов-д7з4 жыл бұрын
Аналогичная задача. Пытался разобраться с сервисом навигации, потом решил что сначало напишу основную логику. Если за это время у автора выйдет видео на эту тему, было бы очень круто. Заранее спасибо. Хотелось бы также увидеть подобный формат по ксамарину, так как конечная цель это написать приложение. Готов донатить, скажите как))
@MegaTembrАй бұрын
А каким образом wpf подсказывает как привязывать папки и файлы в source?
@ShmachilinАй бұрын
@@MegaTembr wpf не подсказывает про привязки. Может речь о Студии?
@MegaTembrАй бұрын
@ я понял, это был resharper)
@Amkonax3 жыл бұрын
Спасибо за видео! Подскажите, не получается нормально реализовать DataTrigger как в конце. Я использую DataGrid, прописывал и в CellStyle, и в DataGrid.ItemTemplate, и ставил TemplateColumn и туда триггер прописывал. Например сделать фон красным если поле пустое: И это работает, если я отредактирую поле. А вот в начале, после того как вьюшка построится - не работает.
@Shmachilin3 жыл бұрын
А не может быть такого, что Artist is null?
@Amkonax3 жыл бұрын
@@Shmachilin спасибо за ответ. Да, я вчера уже ближе к утру разобрался, все работает. Правильно делать Binding="{Binding Artist}" Value="{x:Null}". Но я все равно не понимаю, почему так. Artist это простое стринговое свойство. Если я редактирую элемент и стираю содержимое, то фон красится, но если я тут же обновлю datagrid, то ячейка опять становится дефолтной. Получается, что при создании объекта модели, если в string свойство писать пустую строку, то туда пишется null? А если уже потом, редактируя, руками записать "", то запишется пустая строка? Я еще плохо разбираюсь в таких механиках, хотелось бы знать почему всё именно так)
@Shmachilin3 жыл бұрын
Как у Вас модель создаётся?
@Amkonax3 жыл бұрын
@@Shmachilin Tracks.Add(new Track(file.Name, file.FullName, tags.Tag.FirstPerformer, tags.Tag.Title, tags.Tag.Album)); Здесь библиотека TagLib читает теги из аудиофайла. В поле Artist пишется tags.Tag.FirstPerformer. В самой библиотеке оно определено так string TagLib.Tag.FirstPerformer {get;}
@alexkot98495 ай бұрын
Мощные уроки! Павел -огромное спасибо и побольше Вам добра!