Цвет переднего плана текстового блока установлен на красный.Мне нужно установить разные цвета для разных сообщений.
Вы можете использовать IValueConverter
интерфейс, чтобы приблизиться, использовать класс конвертера для преобразования разных типов сообщений в разные SolidBrush
для TextblockForeground
.Вы можете сослаться на следующий ColorConverter.
public class ColorConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
if (Boolean.Parse(value.ToString()))
{
return new SolidColorBrush(Colors.Green);
}
else
{
return new SolidColorBrush(Colors.Gray);
}
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
}
Использование
<Page.Resources>
<local:ColorConverter x:Key="Converter"/>
</Page.Resources>
......
<TextBlock Text="{Binding info}" Foreground="{Binding messageType,Converter={StaticResource Converter}}"/>