У меня есть требование, чтобы текстовый блок становился красным, жирным шрифтом, подчеркиванием, а шрифт увеличивался при проверке при нажатии кнопки сохранения.
Ниже мой xamlcode
<TextBlock HorizontalAlignment="Right"
Foreground="{x:Bind Model.FirstNameError, Converter={StaticResource ErrorColorConverter}, Mode=OneWay}"
FontStyle="{x:Bind Model.FirstNameError, Converter={StaticResource ErrorFontStyleConverter}, Mode=OneWay}"
FontSize="{x:Bind Model.FirstNameError, Converter={StaticResource ErrorFontSizeConverter}, Mode=OneWay}"
<Run Text="First Name" TextDecorations="{x:Bind Model.FirstNameError, Converter={StaticResource TextUnderlineConverter},Mode=OneWay}" />
</TextBlock>
Код конвертера:Я создал несколько конвертеров, как показано ниже, для ErrorColorConverter, ErrorFontSizeConverter и TextUnderlineConverter
public class ErrorFontStyleConverter: IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
if ((bool)value)
return FontStyle.Italic;
else
return FontStyle.Normal;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
}
Он работает именно так, как мне нужно, но мне нужны некоторые предложения о том, если это можно сделать лучше?способы упростить это