Date: 21.02.2021 17:59:38
Date: 22.02.2021 6:49:51
>Есть класс "MyClass2" он тоже в отдельном файле, в него мне нужно передать свойства, события, переменные и тд из класса "MyClass1".
Для этого ничего особенного делать не нужно. Любой тип в проекте C# видит любой другой тип. Необходимости включать один файл в другой нет именно по этой причине. Возможно, вы допустили тривиальную ошибку из-за которой типы или свойства не видятся, например классы объявлены в разных пространствах имен, забыли сделать какие-то свойства публичными или статическими (нестатическое свойство будет видно только на экземпляре), или какой-то файл у вас не добавлен в проект и поэтому вовсе не подается на вход компилятора (при использовании старого формата проекта, в котором требуется добавлять файлы явно).
>Моя реализация...
Это вполне нормальная реализация. Необходимость выносить отдельные методы в файлы возникает редко, но когда она возникает, это делается именно так, через partial. Например, так же это сделано в библиотеке MoreLINQ, большой класс MoreEnumerable разбит на несколько файлов с частичными объявлениями, которые названы по имени метода (https://github.com/morelinq/MoreLINQ/blob/master/MoreLinq/Acquire.cs).
Date: 22.02.2021 17:25:40
MVVM - это методология проектирования для достаточно сложных приложений, к тому же заточенная под специальные требования, вроде "можно покрывать тестами отдельно логику UI". Если вы только начинаете изучать C# и разработку графических приложений, естественно она вам ничего не облегчит. Начните с основ, как выделять повторяющийся код в методы, как объединять в методы в классы, как составлять иерархии классов, представляющие модель предметной области. Проектирование UI логичным образом вытекает из этого.
>Я для себя определил модель построения пользовательского интерфейса, мне кажется нужно отделить пассивные элементы, от активных, активные элементы размещать в UserControl, тогда и код будет разделен, и управление внятным.
Я не знаю, что такое "пассивные" и "активные" элементы. В UserControl нужно выделять то, что повторяется. Например, если в нескольких местах используется однотипная связка полей для ввода фамилии, имени, и отчества, логично вынести это в отдельный FioControl, или что-то в этом роде. Выделять все подряд в UserControl особого смысла нет. Даже если форма выглядит слишком большой, этот размер карман не тянет. В конце концов, навигация по коду в Visual Studio отлично работает, позволяя найти что угодно и в большом файле.
Автор: VadimTagil