пример безалаберного отношения к данным от автора поста - перепутать фильм, в котором происходят описанные события, а именно Гарри Поттер и Орден Феникса (2007)
Гарри Поттер и узник Азкабана (2004) - на протяжении всей истории главный злодей лажает без остановки. Гарри, не прикладывая никаких усилий, подключается к Волан-де-Морту, читает его мысли, планы, просматривает видеопоток от змеи и пр. Благо, злодей хоть догадался “выслать” дезинформацию. Тут уже к Гарри вопросы - те же объясняли, что защита необходима, а ты кобенился, и в результате слил Сириуса.
"не прикладывая никаких усилий, подключается, просматривает видеопоток и т.д." - а при чем тут защита? галочку "подключаться автоматически" на wi-fi соединении ставить не надо
"Джентельменский набор" для WPF у вас перечислен в содержании:
1 - Инфраструктура
Обработка исключений Настройка IoC Маппинг объектов
2 - Реализация MVVM - паттерна
Модель Представление Валидация Команды Отображение динамических данных
3 - Визуальные темы и элементы управления
Стиль приложения
ReactiveUI - это уже вкусовщина и личные предпочтения.
а писать для контролов вью-модели (ака GaugeControlViewModel) - это вообще дурной тон. ButtonViewModel, TextBoxViewModel в природе ведь не существуют, и хорошо. Контрол должен работать одинаково, независимо как получены значения свойств: через биндинг, цепочку биндингов, или константное значение в xaml:
Там еще какой-то подозрительный GaugeBuilder, который во вью-модель затянул визуальные характеристики элемента, которым там не место вообще. Джентельмены настраивают цвет фона (Background) по умолчанию в стилях по умолчанию.
И вообще, можно поподробнее, как вы собираетесь увязать этот GaugeControl с MVVM? Простая задача: есть N физических приборов (датчиков давления), которые считываются из конфига, в единственном окне приложения надо отображать текущие показания каждого из них на собственном GaugeControl. Загрузка списка датчиков и считывание показаний уже реализованы в классе PressureMonitor
class Sensor { public string Name {get;set;} public double Pressure {get;set;} }
class PressureMonitor { public ObservableCollection<Sensor> Sensors { get; } }
плюс к этому (рандомно выбранный?) тэг .NET
очень похоже, что https://habr.com/ru/company/habr/blog/647925/ использовался в качестве чек-листа: 9 из 10 присутствуют. не хватает только "to be continued ... " в конце
вопрос снят, проблема решилась (удалить полный разочарования комментарий уже никак)
Чтобы пройти тестирование, нужно получить код подтверждения на мобильный - а его не присылают. Все, бесплатные места в программе закончились?
для группировки я применю LINQ
var d1 = strings.GroupBy(s => s).ToDictionary(g => g.Key, g => g.Count());
var d1 = strings.GroupBy(s => s.Length).ToDictionary(g => g.Key, g => g.ToList());
честно пытался придумать что-нибудь неподвластное LINQ или перегрузке операторов, но увы
пример безалаберного отношения к данным от автора поста - перепутать фильм, в котором происходят описанные события, а именно Гарри Поттер и Орден Феникса (2007)
Гарри Поттер и узник Азкабана (2004) - на протяжении всей истории главный злодей лажает без остановки. Гарри, не прикладывая никаких усилий, подключается к Волан-де-Морту, читает его мысли, планы, просматривает видеопоток от змеи и пр. Благо, злодей хоть догадался “выслать” дезинформацию. Тут уже к Гарри вопросы - те же объясняли, что защита необходима, а ты кобенился, и в результате слил Сириуса.
"не прикладывая никаких усилий, подключается, просматривает видеопоток и т.д." - а при чем тут защита? галочку "подключаться автоматически" на wi-fi соединении ставить не надо
а это уже Range (https://docs.microsoft.com/ru-ru/dotnet/api/system.range?view=net-6.0)
int[] afterZero = array[1..^0];
ну или LINQ:
IEnumerable<int> tail = array.Where((x, i) => i > 0);
"Джентельменский набор" для WPF у вас перечислен в содержании:
1 - Инфраструктура
Обработка исключений
Настройка IoC
Маппинг объектов
2 - Реализация MVVM - паттерна
Модель
Представление
Валидация
Команды
Отображение динамических данных
3 - Визуальные темы и элементы управления
Стиль приложения
ReactiveUI - это уже вкусовщина и личные предпочтения.
а писать для контролов вью-модели (ака GaugeControlViewModel) - это вообще дурной тон. ButtonViewModel, TextBoxViewModel в природе ведь не существуют, и хорошо. Контрол должен работать одинаково, независимо как получены значения свойств: через биндинг, цепочку биндингов, или константное значение в xaml:
<GaugeControl Total="36.6"/>
<GaugeControl Total="{Binding ElementName=TestNumericUpDown, Path=Value}"/>
Там еще какой-то подозрительный GaugeBuilder, который во вью-модель затянул визуальные характеристики элемента, которым там не место вообще. Джентельмены настраивают цвет фона (Background) по умолчанию в стилях по умолчанию.
И вообще, можно поподробнее, как вы собираетесь увязать этот GaugeControl с MVVM? Простая задача: есть N физических приборов (датчиков давления), которые считываются из конфига, в единственном окне приложения надо отображать текущие показания каждого из них на собственном GaugeControl. Загрузка списка датчиков и считывание показаний уже реализованы в классе PressureMonitor
class Sensor { public string Name {get;set;} public double Pressure {get;set;} }
class PressureMonitor { public ObservableCollection<Sensor> Sensors { get; } }
осталось только отобразить