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,但如果我選擇了它們,它們就可以正常工作。 –