|
3 вопроса по WPF )
|
|||
---|---|---|---|
#18+
1 Нужно выполнить длительную операцию (секунд 20). Хочется вынести это в отдельный поток, а на главной форме пустить какую то анимашку, прогрессбар бесконечный запустить. Думаю всю задачу загрузить в Task. А вот как дальше ? Раз в секунду проверять, что Task завершился ? Как это организовать в WPF ? Посоветуйте. Никаких особых изысков не нужно. Прогресс бар, или еще какую-то анимашку, реализуемую стандартными средствами WPF, будет достаточно. PS. Я хочу просто пустить бесконечный прогресс бар. Но интересует, может у кого есть код для реализации более симпатичного варианта ? 2 Какой метод нужно вызвать в WPF приложении, чтобы текст на экране обновился ? Т.е. я написал в TextBlock текст "выполняем операцию" и начал длительные действия. Экран при этом замораживается (см первый вопрос), и текст так и не появился. 3. Мне нужно указать пользователю на элемент, где ошибка и подписать "тут не выбрано". Как это реализуется в WPF ? Примерный код посоветуйте. PS. Программа без MVVM. При нажатии на кнопку я смотрю на значение полей, и вот нужно вывести ошибочный текст. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 18:45 |
|
3 вопроса по WPF )
|
|||
---|---|---|---|
#18+
Я же тут давал ссылку. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2014, 06:20 |
|
3 вопроса по WPF )
|
|||
---|---|---|---|
#18+
Алексей К, Спасибо. Я прочитал сейчас. В общем Вашу ссылку я тогда смотрел, но не придал ей значения. Был занят проблемами с DLL. Там просто довольно много текста и кода. Хотел, почитать подробней позже. Но не сложилось. Другим был занят тогда. Сори :) Прикручу это в проект. Каталог SspMainCommon / Common так и вовсе выглядит кладезью знаний ) Надо будет посмотреть там все классы. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2014, 19:55 |
|
3 вопроса по WPF )
|
|||
---|---|---|---|
#18+
Интересует какое рекомендуемое/стандартное решение в WPF для проверки ввода на форме и отображения информации с ошибкой. Как вариант, рассматриваю простую проверку TextBlock.Text и выводить MessageBox в случае обнаружения на корректных данных. Но хотелось бы все сделать по красивее, чем MessageBox. В WinForm используется ErrorProvider - удобная вещь. Когда рядом с каждым элементом, с ошибкой, мигает красный значок и с текстом при наведении мышки. Читаю в книге про использование ExceptionValidationRule, с привязкой его к биндингу. Также там описан DataErrorValidationRule Мак-Дональда в книге "Wpf4..." В общем пока все кажется довольно запутанным и глобальным. Хотя там описано как сделать тоже самое, аналогичное ErrorProvider из WinForm - чтобы что-то отображалось рядом с ошибочным элементом, и выводился текст при наведении мышки. Причем это сделано с использованием ErrorTemplate, который, в свою очередь, использует adorner layer..... В общем, все сложновато - неужели это стандартный/рекомендуемый вариант в WPF ? Если да, и WPF программисты используют этот вариант, то ок, буду использовать тоже. Но может есть какие то альтеративы ? Может что то попроще ? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2014, 20:13 |
|
3 вопроса по WPF )
|
|||
---|---|---|---|
#18+
NTierNoob, да стандратный вариант. Возьмите себе сразу ттемплейты для текста/комбо и тд. IDataError наше все :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2014, 22:52 |
|
3 вопроса по WPF )
|
|||
---|---|---|---|
#18+
NTierNoob аналогичное ErrorProvider из WinForm - чтобы что-то отображалось рядом с ошибочным элементом, и выводился текст при наведении мышки. Причем это сделано с использованием ErrorTemplate, который, в свою очередь, использует adorner layer..... В общем, все сложновато - неужели это стандартный/рекомендуемый вариант в WPF ? Если да, и WPF программисты используют этот вариант, то ок, буду использовать тоже. Но может есть какие то альтеративы ? Может что то попроще ? Если вам не нужен MVVM - то зачем вам WPF? Что вы вообще берете от WPF? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2014, 00:15 |
|
3 вопроса по WPF )
|
|||
---|---|---|---|
#18+
NTierNoobВ общем, все сложновато - неужели это стандартный/рекомендуемый вариант в WPF ? Да. Кое-кого предупреждали, что изучение WPF нужно начинать изучать вовсе не с RX. Заранее советую принять тот факт, что всё начнет более-менее раскладываться по полочкам и быть понятным где-то через полгода интенсивных занятий. NTierNoobНо может есть какие то альтеративы ? Может что то попроще ? WinForms. Или дельфи. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2014, 06:38 |
|
3 вопроса по WPF )
|
|||
---|---|---|---|
#18+
Дайте пожалуйста код. Особенно интересует, как вывести рядом с ошибочным элементом симпатичный признак ошибки, с выводом сообщения при наведении на значек. Т.е. поделитесь пожалуйста ErrorteTplate. И желательно кодом. Т.к. в книге Мак-Дональда то описан пример, но он больше похож на учебный пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2014, 16:48 |
|
3 вопроса по WPF )
|
|||
---|---|---|---|
#18+
NTierNoob, ну вот вам пример для текстБокса: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2014, 18:27 |
|
3 вопроса по WPF )
|
|||
---|---|---|---|
#18+
netivan, Спасибо за помощь ! Тогда пожалуй заменю сделанный по быстрому вывод MessageBox на "Wpf-стайл обработчик ошибок" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2014, 19:11 |
|
3 вопроса по WPF )
|
|||
---|---|---|---|
#18+
Появился вопрос. Как сделать, чтобы отображение наличия ошибки включалось не сразу при открытии формы, а когда то позже - когда пользователь попытается сохранить данные. Есть форма с двумя полями. Мне нужно чтобы они не были пустыми. Но при создании формы там ничего не будет, очевидно. Нужно, чтобы TemplateError появился лишь после того, как пользователь нажмет кнопку "Сохранить". ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2014, 22:27 |
|
3 вопроса по WPF )
|
|||
---|---|---|---|
#18+
NTierNoob, Вы не пробовали там... Почитать чего-нибудь? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2014, 15:18 |
|
3 вопроса по WPF )
|
|||
---|---|---|---|
#18+
MonochromatiqueNTierNoob, Вы не пробовали там... Почитать чего-нибудь? Читаю. И в процессе пишу ) Может я что то упустил, плохо прочитал. Извините. Но подскажите, как это сделать. Тригерами может ? Или программным включение кода по нажатию на кнопку "Сохранить" ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 13:16 |
|
3 вопроса по WPF )
|
|||
---|---|---|---|
#18+
NTierNoob, Так как сделать ПРАВИЛЬНО ? а не моими догадками и изобретательством велосипеда ) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 15:47 |
|
3 вопроса по WPF )
|
|||
---|---|---|---|
#18+
NTierNoob, а что такого? пользователь открыл форму и сразу видит обязательные поля. А кнопка сохранить может вообще быть disable до этого момента ЗЫ CanExecute у ICommand ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 19:29 |
|
3 вопроса по WPF )
|
|||
---|---|---|---|
#18+
netivan, Спасибо Вам за помощь ! Пожалуй действительно, можно оставить так. У меня всего 4 элемента на форме для ввода. Остальное уже выбирается из гридов - т.к. программа, сама по себе, вспомогательная. Программа запущена постоянно, и, по сути, ErrorTemplate на пустых полях будет виден только 1 раз, при запуске приложения :)) Дальше пользователь лишь меняет часть параметров. Тут уже и пригодится ШаблонОшибки. Про CanExecute читал, в плане блокирования кнопки. Спасибо, что еще раз напомнили. Надо будет добавить туда проверку, что на форме нет элементов с ошибкой ввода. Помню по книге, в каких то случаях, нужно запускать проверку CanExecute в ручную, когда были изменены свойства, от которых CanExecute зависит, а когда то оно само запустится. Нужно будет перечитать это в книге. Сейчас хочу полностью переписать приложение, благо оно пока достаточно маленькое, но в процессе разработки по принципу "ой, у меня еще одна идея - добавь ее в программку, а те, другие идеи, переделай вот так" уже все перемешалось. Смотрю "Простое решение" от Алексей К. Масштабный проект. Если уж это - постое решение, не хотел бы я увидеть "Очень невероятно и даже еще более сложное Решение" :) Но вообще много интересного. Любой новичек сам, долго доходил бы до этих деталей. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 22:25 |
|
3 вопроса по WPF )
|
|||
---|---|---|---|
#18+
NTierNoob, у Алексея много хорошего, но для простой формы оно вам вряд ли поможет. Только не делайте проверку "элементов", сделайте на уровне Mvvm ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 23:21 |
|
3 вопроса по WPF )
|
|||
---|---|---|---|
#18+
NTierNoob1 Нужно выполнить длительную операцию (секунд 20). Хочется вынести это в отдельный поток, а на главной форме пустить какую то анимашку, прогрессбар бесконечный запустить. Думаю всю задачу загрузить в Task. А вот как дальше ? Раз в секунду проверять, что Task завершился ? Как это организовать в WPF ? Посоветуйте. Никаких особых изысков не нужно. Прогресс бар, или еще какую-то анимашку, реализуемую стандартными средствами WPF, будет достаточно. PS. Я хочу просто пустить бесконечный прогресс бар. Но интересует, может у кого есть код для реализации более симпатичного варианта ? http://wpftoolkit.codeplex.com/wikipage?title=BusyIndicator&referringTitle=Home 2 Какой метод нужно вызвать в WPF приложении, чтобы текст на экране обновился ? Т.е. я написал в TextBlock текст "выполняем операцию" и начал длительные действия. Экран при этом замораживается (см первый вопрос), и текст так и не появился. Dispatcher.Invoke() 3. Мне нужно указать пользователю на элемент, где ошибка и подписать "тут не выбрано". Как это реализуется в WPF ? Примерный код посоветуйте. PS. Программа без MVVM. При нажатии на кнопку я смотрю на значение полей, и вот нужно вывести ошибочный текст. IDataErrorInfo ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2014, 19:28 |
|
|
start [/forum/topic.php?fid=21&msg=38547885&tid=1441194]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
145ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 250ms |
0 / 0 |