0
我有一个wpf列表框,它实现了一个包含TextBlock的DataTemplate。是否有可能从wpf中的ivalueconverter返回多个值?
<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();
}
}
This works。字体颜色(前景)将在更改绑定属性时变为红色。
我的问题是这样的:我想我的字体改为红色,粗体和斜体。我知道这可以通过使用textblock内联来实现,但是使用我的转换器可以完成所有这三件事吗?
谢谢大家有回应的想法和见解。
感谢您的快速评论。我将研究如何使用DataTrigger! –
@mherr如果这个答案帮助你,你应该考虑接受它... –
谢谢马克,我知道这就是这个网站的工作原理。我花了一些时间调查DataTriggers,看看这是否确实能解决我的问题。我决定不打算使用DataTriggers,但如果我选择了它们,它们就可以正常工作。 –