Я хочу изменить цвет или стиль текстового блока в коде с привязкой Viewmodel.
Вот что я получил:
<TextBlock
Visibility="{Binding SubTitleVisibility}"
Text="{Binding SubTitle1}"
TextWrapping="Wrap"
Margin="12,-6,12,0"
Style="{Binding SubColor}"/>
Здесь работает любая привязка, кроме стиля. Хотя применяется размер шрифта, но без цвета. (Как сказала бы Королева, это своего рода магия)
Посмотреть модель:
internal DisplayMode Mode
{
get
{
return _mode;
}
set
{
//if (value != _type)
//{
_mode = value;
if (value.Equals(DisplayMode.EditMode) && _type.Equals(ItemType.WithIcon))
{
_iconVisibility = Visibility.Visible;
SubTitleVisibility = Visibility.Collapsed;
}
else if (_type.Equals(ItemType.WithSubTitle))
{
_iconVisibility = Visibility.Collapsed;
SubTitleVisibility = Visibility.Visible;
}
NotifyPropertyChanged("Mode");
NotifyPropertyChanged("SubColor");
}
}
internal Style SubColor
{
get
{
Style temp;
if (_group != "phone" && _group != "email" && _mode == DisplayMode.ViewMode)
temp = (Style)App.Current.Resources["PhoneTextNormalStyle"];
else
temp = (Style)App.Current.Resources["PhoneTextAccentStyle"];
return temp;
}
}
Я нашел этот кодсниппет здесь , но он даже не перейдет в метод get SubColor.
Заранее спасибо за помощь.