Fluent CTP2


Выпустили таки сегодня второй CTP риббонов. Издалека даже похожи на настоящие, хотя конечно до того, чтоб их можно было использовать в рабочем проекте ещё месяца полтора работы (чтоб там кто не думал по этому поводу). В целом не могу не заметить, что риббоны оказались значительно более сложным контролом, чем я предполагал (это вам не TabControl с кнопочками, все гораздо сложнее) и многие аспекты их поведения до сих пор вызывают у меня сомнение, а хваленый гайд от микрософт по риббонам просто не обговаривает многие моменты или обговаривает их очень условно, плюс некоторые вещи очень плохо сочетаются с WPF-ным представлением о том как должны работать контролы (луч ненависти тем, кто разрабатывал Popup-ы и систему фокусов, ну вот зачем было такую жуть городить). К слову разработка сложных контролов под WPF оказалось вещью крайне нетривиальной и далеко переплевывающей по разным спецэффектам разработку под WinAPI: временами у нас вылазили крайне специфические глюки, которые впрочем мы успешно (я надеюсь) побороли, хотя некоторые вещи так и остались нам не ясны. Надо бы как-нибудь подробнее описать разработку сложных lookless-контролов для WPF-а, надеюсь в ближайшее время у меня дойдут до этого руки.
Fluent CTP2
PS. К слову под WPF до сих пор нет ни одних риббонов в достаточной мере соответствующих тем, что были представлены в 2007-ом офисе, и это не смотря на весьма немаленькие цены на эти риббоны. Всё что нам довелось посмотреть (а мы смотрели всё, что смогли найти) имело те или иные отличия в поведении, временами весьма нехилые (что особенно странно при цене 300 баксов за контрол на одного разработчика). На удивление под WinAPI, MFC, WinForms и даже Delphi (оно ещё живо?) имеются вполне приличные риббоны (значительно превосходящие любой WPF-ный аналог). Я уж не говорю про майкрософтские scenic-риббоны, которые по ощущениям вообще основаны на коде вытянутом из 2007-го офиса.
PPS. Впрочем, вообще все коммерческие контролы для wpf-а не вызывают у меня никакого восторга. Честно говоря, возникает стойкое ощущение, что их разработчики толком не освоили WPF и многие используемые ими решения гармонично бы смотрелись в WinForms-контролах, а отнюдь не в WPF-ных, что, учитывая весьма немалую цену этих контролов, вызывает у меня стойкую мысль о крупном надувательстве тех пользователей, которые их покупают.
PPS. Заняться что-ли созданием правильных WPF-ных контролов, да продажей их по демпинговым ценам, чтобы всяким там не повадно было всякую херню выпускать.
PPPS. А вообще когда уже микрософты .NetFramework4 RC выпустят: я уже хочу на него мигрировать, все эти размытости и непонятности со шрифтами в WPF-е надоели до крайности.

Стиль для круглой кнопки


В Window Vista (а также судя по бета версии и в Windows 7) кнопка "Пуск" перестала выглядеть как унылый прямоугольник, и стала красивой круглой. Также аналогичная кругла кнопка была использована в Windows Media Player, в Windows Photo Viewer , в Windows Live Gallery и, с другой расцветкой, в Microsoft Office 2007.
Стиль для круглой кнопки
Реализовать аналогичную кнопку в WPF достаточно легко.

Читать далее...

Тултипы как в офисе 2007


В 2007-ом офисе появилось множество всяческих достаточно интересных элементов управления. В том числе достаточно привлекательная всплывающая подсказка (tooltip).
Тултипы как в офисе 2007

Читать далее...

Бета-версия Visual Studio 2010


Полдня на работе развлекался в виртуалке с бета-версией 2010-ой студии. В общем и целом она меня весьма порадовала (на WPF-е, вся из себя такая анимированная, просто глаз радуется). Хотя кой какие глюки и имеются. Кстати, почему её не сделали на риббонах, это было бы забавно. А вот .NET Framework 4 как-то не порадовал. Во-первых мне не удалось сконвертировать под него наш проект, студия хрустела часа четыре, а после сдохла от нехватки памяти. А во вторых они судя по всему не доложили в 4-ый WPF риббоны (ну или я их не нашёл), а это по сути дела основное чего я ждал от .NET Framework 4 (ну не считая возможности настройки сглаживания шрифтов и картинок), а все их dynamic-и и прочие нововведения для меня достаточно бесполезны и неинтересны. В общем пока .NET Framework 4 как-то не катит. Ждём финальной версии и надеемся на лучшее.
Бета-версия Visual Studio 2010

PS. Как не странно мне удалось скомпилировать и запустить проект использующий сборки собранные под .NET Framework 3,5-ый, я что-то такое конечно слышал, но все равно это было несколько неожиданно..

PPS. Дизайнер WPF-ных интерфейсов они конечно улучшили, но все равно сделать в нем что-либо приличное нереально, почему бы им не взять за основу Expression Blend

Выпадающий по нажатию на кнопку Popup


Собственно говоря я совсем не собирался писать о такой элементарной вещи, как выпадающий по нажатию на кнопку Popup, если бы не увидел, как некоторые выполняют эту достаточно примитивную операцию путём написания обработчика клика кнопки и присваивания в нем IsOpen=true (а некоторые особо извращённые ещё и позиционируют попап прям в коде используя PointToScreen/PointFromScreen).
Выпадающий по нажатию на кнопку Popup

Читать далее...

Просмотрщик XPS


В свое время, вместе с выходом висты, если я не ошибаюсь, компания Microsoft ввела такой формат как xps. Этот формат вроде был призван потеснить адобовский pdf, но микрософт не утрудили себя каким-либо его продвижением. В целом формат достаточно неплох для такого рода вещей, как всякие отчёты, мануалы и прочие документы не требующие модификации. Вот только присутствует один большой недостаток. У данного формата отсутствует толковый просмотрщик, поскольку просматривать его предлагают в интернет эксплорере, с помощью плагина который шёл в комплекте с вистой, а в xp и 2003 ставился вместе с 3-им дотнет фреймворком, что крайне неудобно, плюс просмотрщик внутри ie не поддерживает, ни структуры документа, ни внутрених ссылок. В общем достаточно хороший формат был бездарно загублен убогим просмотрщиком. Чуть позже в микрософте опомнились и сварганили Xps Essentials Pack, который несмотря на пафосность названия и представлял собой вполне нормальный (за исключением того, что этого просмотрщика существует как минимум 4 разных версии, под разные версии windows) просмотрщик для этого самого xps-а. Плюс в windows 7 такой просмотрщик(явный наследник essential pack) включён по умолчанию, плюс плагин для ie серьезно доработан.
Так вот, чему я это все. А к тому, что в 3-ем дотнет фреймворке встроена функциональность для работы с этим самым xps-ом. И сейчас я покажу, как написать свой просмотрщик для него.
Просмотрщик XPS

Читать далее...

Bling


Какую славную библиотечку для wpf-а я отрыл. Просто полный отпад. Особо радует возможность писать пиксельные шейдеры без возьни с hlsl-ем - это просто пять с плюсом. Я в глубоком восторге, хоть и не все шейдеры работают (выдают какие-то ошибки компиляции, судя по всему, связанные с тем, что конверсия числа в строку идёт с системными параметрами и, соответственно, вместо точки, дробная часть отделяется запятой).

Метки: wpfhlslc#

ColorPicker на WPF


Нашел статейку (http://www.codeproject.com/KB/WPF/WPF_CustomerControl.aspx) про то как делать собственные контролы на WPF. Если не придираться к использованию терминов и формулировкам, то с приведенным способом написания своих контролов можно согласиться. А вот выбранный пример абсолютно неадекватен, т.к. ColorPicker в WPF можно сделать гораздо проще и быстрее с помощью DataTemplate.
ColorPicker на WPF

Читать далее...

TextBox с описанием и картинкой в WPF


Недавно с ужасом заметил, что для создания TextBox с описанием (не знаю как это правильно называется: в общем, когда в TextBox нет текста и фокуса, там написано, что это за поле ввода, как в висте в проводнике в правом верхнем углу окошко поиска) некоторые люди создают новый UserControl, тогда как гораздо проще(и с гораздо меньшим количеством кода) можно сделать это стилями и ControlTemplate.
TextBox с описанием и картинкой в WPF

Читать далее...

Entity Framework


Entity Framework меня глубоко поражает, при работе с Compact Sql Server он не поддерживает автоинкрементные поля. При этом на вопросы по этому поводу создатели отвечают, что мол так получилось и рекомендуют сделать поле обычным и увеличивать его ручками, я в шоке, ещё в 21-ом веке буду поля ручками увеличить… Пойду SQL вспоминать, а на будущее надо запомнить, что надо держаться от этого Sql Server CE подальше.

Предыдущие записи Следующие записи