четверг, 30 мая 2013 г.

Локализованный BooleanToStringConverter.

Для разработчиков пользовательских интерфейсов актуальна задача отображения значения типа Boolean в виде локализованной строки. Т.е. вместо "True" и "False" требуется отобразить "Да" и "Нет" (естественно в зависимости от языка ОС). В связи с этим, хочу предложить интересное решение.
Для начала следует определиться, откуда получить локализованное значение типа Boolean в человеческом виде? Для этого используем библиотеку "User32.dll", которая и вернет нам эти данные.


Как видно на скриншоте, под идентификаторами 805 и 806 имеются строки "&Да" и "&Нет" соответственно. Вот их и будем использовать.

среда, 22 мая 2013 г.

Windows Store. Приложение Fisheye.

Хочу представить свое новое приложение для магазина Windows Store - Fisheye. Оно позволяет просматривать WEB-камеры по всему миру. Также есть возможность добавлять новые камеры на карту.


На текущий момент функционал приложения достаточно простой, но есть много идей по развитию данного направления. Так что, в зависимости от свободного времени, буду развивать и добавлять новый функционал и новые WEB-камеры.

Если есть пожелания - буду очень рад выслушать.
Спасибо!

вторник, 14 мая 2013 г.

Windows Store App. Подключение шрифта.

Несмотря на руководство по шрифтам для приложений магазина Windows, которое рекомендует использовать Segoe UI шрифт для элементов пользовательского интерфейса, иногда может возникнуть потребность подключить дополнительный шрифт. Однако этот шрифт может отсутствовать на клиентском компьютере и соответственно будет использоваться шрифт по умолчанию. Далее я опишу как можно внедрить шрифт в приложение Windows Store  на примере 3D LET.
Для этого скопируем файл шрифта (в данном случае 3dlet.ttf) в папку Assets и добавим его в проект. Установим свойство Build Action = Content и Copy to Output Directory = Do not copy. Тем самым наш новый шрифт будет распространяться вместе с приложением.
Теперь, чтобы использовать этот шрифт, потребуется правильно указать свойство FontFamily объекта TextBlock ( FontFamily = "{TTF File Name}#{Font Name}" ):

MainPage.xaml:
    <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
        <TextBlock Grid.Row="1" Text="3D LET BRK FONT" FontFamily="Assets/3dlet.ttf#3D LET BRK" FontSize="64" HorizontalAlignment="Center" VerticalAlignment="Center"/>
    </Grid>

При этом текстовый блок примет новый вид: