TFS 2010 имеет забавный баг. В некоторых случаях (не изветсно каких, иначе баг бы исправили) невозможно штатными средствами настроить сборку проектов по расписанию.

При попытке это сделать, мы получаем ничего не говорящее окно с сообщением об ошибке.

сообщение об ошибке

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

В повседневной жизни я часто использую телефон для чтения книг. И разрешение экрана (800x480) должны делать этот процесс достаточно удобным. Однако очень быстро я обнаружил, что для WP7 нет ниодной вменяемой «читалки» fb2 книг.

А так как я сам являюсь .NET разработчиком, я решил попробовать себя в качестве WP7 разработчика; и исправить это досадное недоразумение с отсутствием «читалки».

wp7 download

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

Функция Drag & Drop может значительно улучшить удобство использования программного обеспечения. Однако только некоторые программисты добавляют такую функциональность в свои приложения, потому что думают что это сложнее чем есть на самом деле. Эта статья покажет как просто реализовать Drag & Drop в WPF. Drag & Drop in 6 шагов:

  1. определяем начало drag с помощью событий MouseMove и MouseLeftButtonDown;
  2. определяем те данные, которые мы хотим "перетащить" и создаем DataObject, который будет содержать формат и данные;
  3. инициализируем перетаскивание с помощью вызова DoDragDrop();
  4. устанавливаем свойство AllowDrop=true для тех элементов, которые будут принимать данные;
  5. создаем обработчик события DragEnter для определения того, что над областью "приемника" происходит "перетаскивание". Если данные могут быть приняты установите свойство Effect у аргумента обработчика события;
  6. когда пользователь отпустит кнопку мыши, вызовется событие Drop. Получить данные можно с помощью метода e.Data.GetData()

Вот и вся магия.

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

WPF имеет 2 подхода к созданию собственных контролов: CustomControl'ы и UserControl'ы. В этой статье я попытаюсь привести список характеристик для каждого из подходов чтобы помочь Вам сделать правильный выбор для Вашего проекта.

UserControl - композиция

  • Представляет собой композицию существующих контролов в группу для облегчения повторного использования.
  • Содержит XAML и C#-код.
  • Не может менять внешний вид с помощью стилей и шаблонов.
  • Наследуется от UserControl

UserControl

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

Эта статья демонстрирует, как можно создать правило для проверки данных, заданных через Binding. В статье так же рассматривается проблема передачи дополнительных параметров в метод проверки.

Предположим, что мы хотим создать простое приложение, которое позволяет нам выбрать некоторое число с помощью Slider, затем ввести некоторое другое число в TextBox.

Приложение не должно допускать ввод числа не кратного тому, что выбрано с помощью Slider’а.

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

Калькулятор арифметических выражений.

Калькулятор

Совсем недавно мне попалась классическая задача вычисления значения арифметического выражения.

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

WCF это очень гибкий framework. Используя механизмы его расширения, Вы можете явно управлять поведением своего приложения в момент получения исключения. Вы можете:

  • не отправлять клиенту вообще никакой информации об ошибке;
  • заменить полученный exception на SOAP Fault;
  • заменить полученный Fault на любой другой;
  • записать некоторые данные в журнал;
  • выполнить любые другие действия.

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

Исключения выставляют ряд ограничений и возможных рисков безопасности:

  • они зависимы от платформы/технологии;
  • исключения могут вызвать плотную связь между клиентами и сервисом (Клиенты должны знать, какие исключения могут быть вызваны каждой операцией);
  • исключения могут выдать клиентам подробности реализации сервиса;
  • исключения могут выдать частную и личную информацию;
  • исключения и иерархии исключений тяжело представимы с помощью метаданных.

Поэтому требуется связать исключения на сервисе с их эквивалентом на клиенте.

Это легко реализовать с помощью SOAP Faults. Особенно это интересно тем, что исключения, которые получают клиенты WCF, представлены как FaultException.

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

tag cloud

О чем это мы тут?

В этом проекте я хотел бы рассказать о том, как можно сделать красивое облако тегов на Silverlight.

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

Материал из Википедии — свободной энциклопедии.

Brainfuck (англ. brain мозг + fuck) — один из известнейших эзотерических языков программирования, придуман Урбаном Мюллером (нем. Urban Müller) в 1993 году для забавы. Язык имеет восемь команд, каждая из которых записывается одним символом. Исходный код программы на Brainfuck представляет собой последовательность этих символов без какого-либо дополнительного синтаксиса.

Одним из мотивов Урбана Мюллера было создание языка с как можно меньшим компилятором. Отчасти он был вдохновлен языком FALSE, для которого существовал компилятор размера 1024 байта. Существуют компиляторы языка Brainfuck размера меньше 200 байт.

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