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 байт.

Программист

День программи́ста — профессиональный праздник программистов, отмечаемый на 256-й день года (255-й с нуля). Число 256 (2^8) выбрано потому, что это количество чисел, которое можно выразить с помощью восьмиразрядного байта. Также «256» в шестнадцатеричной системе счисления — это «100» («0x100»). И также это максимальная степень числа 2, которая меньше 365 (дней в году).

В не високосный год данный праздник выпадает на 13 сентября, a в високосный год на 12 сентября.

Сегодня столкнулся с проблемой Url, в которых встречаются пробелы.

Она заключается в том, что метод HttpUtility.UrlEncode конвертирует пробелы в "+", а IIS7 уже не обрабатывает такие пути.

Оказывается, это было сделано для повышения уровня безопасности. Какую угрозу может нести знак "+" я не знаю, но видимо есть люди, которые знают.

В далеком 2007 году мною был написана Delphi компанента для работы с СУБД MySQL. Тогда же я выложил ее на своем сайте. Однако с тех пор сайт несколько раз переписывался и некоторый контент к сожалению был утерян. Я считал что компанента тоже потеряна...

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

Если она еще кому-то нужна, то вот она.