this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, (Action) (() => { Status.Text = System.String.Empty; (sender as System.Timers.Timer).Stop(); }));После включения компа на следующий день ешё раз попробовать с System.Windows.Threading.DispatcherTimer. Зработало как надо. Хрен знает почему.
(sender as System.Timers.Timer).Stop();
для меня она сейчас ну прям совсем "hello world", но жаль, что в начале моего пути таких книг не нашел.
она рассказывает о том, как надо делать приложения, а не только программировать.
да еще и СТИМПАНКОВСКИЕ иллюстрации!
books.google.ru
рекомендую новичкам
Если не вытрёпываться и по какой–то причине wxWidgets и SWT не подходят, то на худой конец сгодится Qt или Swing. На WinAPI и Gtk+ получается параша.
То, что я видел на WPF (INTUIT и VK — это WPF, если я всё правильно понял) — где–то посередине между худым концом и парашей.
узнал вот, что wpf ui может работать out-of-process
т.е. как flash-плагин для браузера — сам работает в другом процессе, а рендерит картинку (причем с hardware acceleration) в основной процесс.
такой подход дает "Strong isolation level", очень круто для системы плагинов, которым недоверяешь.
msdn.microsoft.com
habrahabr.ru отличная статья
[ на картинке — BandedSwirlTransitionEffect, из wpffx.codeplex.com — код: pastebin.com ]
Суть "эффектов" WPF такова — графика в WPF векторная, но так как голой векторной графикой особо много красивостей и рюшечек не нарисовать, к отрендеренным объектам можно применять разнообразные пиксельные трансформации, причем с использованием пиксельных шредеров на HLSL.
В Windows.Forms таких фич гораздо больше, но таки их портировали.
WPF — кроссплатформенный фреймворк, но он огромен и очень сложен. Кому кроме MS по силам разработать аналог, или хотя бы просто портировать его?
WPF не портируют по той причине, что это гигантский и очень сложный проект. Реально дико сложный. И он создан усилиями огромной команды высокооплачиваемых профессионалов. Группе энтузиастов такое просто не повторить. Ну то есть, тупо такой расклад:
Возьмем людей из опенсорса, которым интересно Mono. Возьмем из них тех, кто разбирается в GUI-фреймворках(в том числе знаком с эзотерическими подходами к GUI, типа реактивности), двумерной и трехмерной векторной графике, обработке видео, электронной, и не только, электронной типографике, accessibility и другом. Теперь возьмем из всех них тех, кому за все это дело проект Mono готов платить. Сколько народу получилось? Вот-вот.
И вот это единственная причина, а никакая не завязанность на WinAPI, никакие не козни Microsoft(MS, кстати, наоборот, даже помогает разработчикам Mono), и не что-либо еще.
blog.catenalogic.com
2. GOOGLE
2.1. wpf binding default value
2.2. wpf FallbackValue combobox
2.3. wpf combobox default (null) value
github.com
Буду использовать как референсное приложение для Reactivity, то есть, буду развивать фреймворк в том направлении, чтобы это приложение на нем в итоге было переписано с еще меньшими усилиями, чем с которыми оно было написано на C# + WPF.
Программа хранит TODO-листы и сами задания в XML, умеет создавать, открывать, редактировать и сохранять их.
Написана в каноничном MVVM-стиле.
В ЖЖ еще написал про то, что такое MVVM, вкратце, и почему я постоянно говорю что WPF(ну и Silverlight как его ответвление) — единственный вменяемый GUI-фреймворк на сегодня.
love5an.livejournal.com
а ксамл — это charlespetzold.com
Казалось бы, при чем тут лисп? love5an.livejournal.com