gsomix
Отсутствием проверок нас было не напугать.
Vasily
Короче, я в итоге пришел к тому, что в xaml только отображение и простая логика на триггерах. Для проверки был хороший инструмент kaxaml.Ну и snoop сильно помогал при отладке. Сейчас вроде в студию встроили просмотр дерева
Vasily
Xaml не предназначен для описания сложной логики, проблема скорее в том, что wpf туда подталкивает изначально, кажется, что это правильный путь
Dr. Friedrich
gsomix
Если бы проблема была только в XAML.
Vasily
Dr. Friedrich
gsomix
Отлаживать сложно, тонны сообщений отправляющиеся в разные стороны... Ух!
Vasily
Vasily
Vasily
Dr. Friedrich
Vasily
В модели внутри все равно dto лежал
Dr. Friedrich
У меня вот разные варианты отображения для одних и тех же моделей, и не все они на WPF ,)
Vasily
gsomix
gsomix
Ты читаешь вообще? :)
gsomix
Я говорил про отладку.
Vasily
Dr. Friedrich
gsomix
Vasily
Но корявенький,да
gsomix
И вообще я тонну написал текста про проблемы.
gsomix
Та же валидация.
Vasily
Vasily
Пишешь наследника от dynamicobject...
Vasily
Dr. Friedrich
Vasily
IDataError же
gsomix
Уточни формулировку
Я хочу описывать валидацию и оповещение подписчиков в декларативное стиле. Желательно, чтобы это все было в одном месте, поближе.
Dr. Friedrich
Vasily
gsomix
Vasily
Я, кстати, понимаю возмущение @gsomix . Скорее всего, когда он трогал wpf, уже был js
Vasily
Вменяемый
Vasily
Разные исходные точки
Vasily
Я сравниваю десктоп с десктопом
Vasily
Мне приводят аргументы из веба
gsomix
Это не делает технологию объективно лучше.
gsomix
И нет, кроме впф я ничего не знал тогда.
gsomix
Мои аргументы основаны на личном длительном опыте.
Vasily
Ну, каждому своё, значит. У меня получилось освоить до уровня, когда скорость разработки высокая ,а количество бойлерплейта малое
Vasily
Но граблей я много пособирал, это факт
gsomix
gsomix
Я-то решил, но все равно сложно.
Vasily
gsomix
Как буду около компа.
Vasily
Возможно, при определенных преобразованиях кода проблема уйдёт
Vasily
Самая жестокая проблема, которую я решал в свое время - дата грид с динамическими колонками
Vasily
Вот это был секс
gsomix
gsomix
https://twitter.com/pasiphae_goals/status/1025953472892551168
gsomix
Блин, почему бугурт?
gsomix
Нормальное же решение.
Dr. Friedrich
А почему ноль?
gsomix
А что должно быть?
Doge
Блин, почему бугурт?
Потому что чаще всего, деление на ноль - это ошибка. И ожидаемое поведение - это ошибка/исключение , а не ноль
Dr. Friedrich
Неортодоксальный какой-то ответ.
Dr. Friedrich
gsomix
Dr. Friedrich
Ну или исключение, если на интах.
gsomix
А если у тебя язык без исключений?
Dr. Friedrich
Тогда паника!
Dr. Friedrich
Слушай, а деление Int.MaxValue на -1 у них тоже возвращает ноль?
gsomix
Doge
Если уж хочется делить на ноль и получить разумный ответ, то и работать надо в кольце с делителями нуля, где оно даст нормальный результат
gsomix
Ну, представь как такой код писать?