Как задать повторно используемые ресурсы в Windows Phone 7

Нередко в приложении требуется задать ресурсы, которые будут использоваться в различных местах приложения повторно. Это, например, могут быть фирменные цвета приложения, изображения и т.д. В этой заметке я покажу как это сделать.

Для каждого элемента управления Windows Phone 7 (наследника объекта FrameworkElement) существует свойство Resources, которое может содержать ресурсы для этого элемента управления. Ресурсы наследуются для вложенных элементов, т.е. для дочернего элемента управления вы можете использовать ресурсы родительского элемента. При этом каждый ресурс обладает уникальным именем – ключом.

Для всего приложения также определено свойство Resources, которое может содержать ресурсы. При этом, размещая ресурсы в этом месте, они становятся доступными для каждого элемента. Ресурсы приложения определяются в файле App.xaml следующим образом:

<phone:PhoneApplicationPage.Resources>
    <SolidColorBrush x:Key="TextColor" Color="Green" />
</phone:PhoneApplicationPage.Resources>

После определения глобальных ресурсов их можно использовать при описании элементов управления в приложении:

<TextBlock Text="Some text" Foreground="{StaticResource TextColor}" />

Кстати, в Windows Phone 7 доступны ресурсы текущей темы, адаптируемые под визуальные настройки самой ОС. На MSDN приведен полный список ключей, которые можно использовать так же, как приведено выше.