TextBlockを含むDataTemplateを実装するwpfリストボックスがあります。
<local:BooleanToFontColorConverter x:Key="boolToFontColor" />
<DataTemplate x:Key="ListBox_DataTemplateSpeakStatus">
<Label Width="Auto">
<TextBlock Foreground="{Binding Path=myProperty, Converter={StaticResource boolToFontColor}}" />
</Label>
</DataTemplate>
私の手元の仕事は「myProperty」の変更です。フォントの色を変えたいです。私のコンバーターは次のようになります。
public class BooleanToFontColorConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter,
CultureInfo culture)
{
if (value is Boolean)
{
return ((bool)value) ? new SolidColorBrush(Colors.Red) : new SolidColorBrush(Colors.Black);
}
return new SolidColorBrush(Colors.Black);
}
public object ConvertBack(object value, Type targetType, object parameter,
CultureInfo culture)
{
throw new NotImplementedException();
}
}
これは機能します。バインドされたプロパティを変更すると、フォントの色(前景色)が赤に変わります。
私の質問はこれです:フォントを赤、太字、斜体に変更したいと思います。これはテキストブロックインラインを使用して可能であることを知っていますが、コンバーターを使用してこれら3つすべてを実行することは可能ですか?
応答する考えと洞察を持っているすべての人に感謝します。