Coding4Fun.Phone.Toolkit v1.5

Грэг Дункан

Сегодняшний мобильный пост посвящен обновленному набору инструментов Windows Phone 7, о котором вы, возможно, уже слышали.

Инструменты Coding4Fun Coding4Fun.Phone.Toolkit v1.5.1

1.5.1

Исправлены ошибки

  • Область касания ползунка
  • Ошибка ColorSlider, возникавшая при корректировке поведения SuperSlider. Также влияет на элемент ColorPicker.

1.5.0

Новые и обновленные элементы

  • Элемент MetroFlow
  • Отключен поиск ColorSlider
  • Отключен поиск SuperSlider
  • Отключен поиск ColorPicker
  • Добавлен заголовок для SuperSlider
  • Увеличена область попадания SuperSlider
  • Настраиваемый заголовок диалога TimeSpanPicker

Исправленные ошибки

  • Метка идентичности больше не требуется, это вызвано изменением поведения в Mango
  • Обновлен до ноябрьской версии инструментария Silverlight
  • SuperSlider теперь имеет по умолчанию правильную высоту без необходимости установки ее вручную
  • Чтобы предотвратить образование пузырей, обновлен монитор движений
  • Исправлено быстрое переключение приложений в TimeSpanPicker
  • TimeSpanPicker теперь подражает основному коду SL Toolkit
  • Исправлено позиционирование подсказки, когда SystemTray имеет параметр Opacity от 0 до 1
  • Исправлен ColorSlider, который при задании значения 360 должен выдавать черный тон, а не красный
  • Исправлен SuperSlider, не устанавливающий схему при переключении от режима Collapse в Visible

clip_image002

Хотите больше узнать о новом элементе MetroFlow? Дэн Делимарски написал прекрасное введение «Добавление к инструментарию Coding4Fun – MetroFlow».

clip_image004

Никогда не встречались с Coding4Fun.Phone.Toolkit?

clip_image006

Элементы управления:

  • About Prompt
  • Color Hexagon Picker
  • Color Picker
  • Color Slider
  • Input Prompt
  • Message Prompt
  • Memory Counter
  • Password Prompt
  • Progress Overlay
  • Round Button
  • Round Toggle Button
  • Super Slider
  • TimeSpan Picker
  • Toast Prompt

Абстрактные классы:

  • Класс PopUp для вещей вроде Input Prompt, которые можно ускорить с помощью GPU в отличие от встроеного элемента Popup.

Конвертеры:

  • Boolean в Visibility
  • String в Visibility
  • Конвертер изображений тем
  • Обратный конвертер изображений тем
  • Visibility в Boolean

Помощники связывания:

  • Обновление элементов Textbox или Passwordbox Пример:

<TextBox Text="{Binding FooBar, Mode=TwoWay}" local:TextBinding.UpdateSourceOnChange="True" />

Помощники данных:

  • PhoneHelper для извлечения данных из файла WMAppManifest Пример: PhoneHelper.GetAppAttribute("Title")
  • Расширения цвета

Это не было бы сообщением нашего блога, если бы здесь не было снимка решения...

clip_image008

Четыре проекта, с примером приложения, в котором можно видеть все управляющие элементы в действии.

Что такое Coding4Fun.Phone.Site.Controls? WP7 загружает сборки и DLL в память интеллектуально, оперируя лишь теми, которые действительно используются, причем по мере обращения к ним. В набор входит информация “About” Channel9/C4f, битовые изображения, тексты и т. п. Почему вы, пользователь набора должны терпеть, чтобы пункт "About" в ваших приложениях заменялся только из-за того, что вы использовали этот набор? Не должны. Вот чем является проект Coding4Fun.Phone.Site.Controls:

Эти элементы управления предназначены для проектов Coding4Fun. А именно, наш элемент “About”, будучи включенным в набор Coding4fun.Phone.Control увеличит размер DLL по собственным причинам.

Другие проекты, Coding4Fun.Phone.Controls и Coding4Fun.Phone.Toolkit составляют «мясо» набора (забавно):

clip_image010clip_image012

Что прекрасно в наборе, так это то, что каждая возможность легко доступна. Это не слишком сложный проект и все его возможности легко заметны и легко поддаются изучению. Интересен код нового элемента MetroFlow? Пожалуйста:

clip_image014

SuperSlider?

clip_image016

The Converters?

clip_image018

Важным моментом является то, что инструментарий не только легко использовать в двоичном виде (который, конечно, можно получить через NuGet, Coding4Fun.Phone.Controls.Complete, Coding4Fun.Phone.Controls [без TimeSpan], Coding4Fun.Phone.Controls.TimeSpan), но также легко увидеть, как он устроен, что позволяет выполнить ваш следующий проект на следующем [нет, я не собирался сказать уровне… не должен говорить уровне…]

Если вы создаете приложения для WP7.1(5) или инструментальные наборы для таких приложений, вы, возможно захотите оценить этот проект…

Вот несколько ссылок, которые могут оказаться интересными: