如何为不同的绑定元素设置不同的字体颜色

时间:2015-01-14 04:28:37

标签: wpf wpf-controls multibinding

我正在使用Multibinding在TextBlock中设置数据。我想为不同的属性绑定使用不同的颜色。

请参阅代码了解更多详情,

<StatusBar x:Name="messageBar">
      <StatusBarItem>
<TextBlock x:Name="txtStatusMessage" 
           TextWrapping="Wrap" Foreground="Red" Height="35">
    <TextBlock.Text>
        <MultiBinding Converter="{StaticResource ConvertMultiple}"
                      UpdateSourceTrigger="PropertyChanged">
            <Binding ElementName="txtUserFriendlyName" 
                     Path="(Validation.Errors)[0].ErrorContent"
                     UpdateSourceTrigger="PropertyChanged"/>

            <Binding ElementName="txtXPathValue" 
                     Path="(Validation.Errors)[0].ErrorContent" />

            <Binding ElementName="cboTagName" 
                     Path="(Validation.Errors)[0].ErrorContent" />
        </MultiBinding>
    </TextBlock.Text>
</TextBlock>

如何为不同的Binding元素提供不同的字体颜色。

1 个答案:

答案 0 :(得分:2)

在文本块中使用不同的运行并给出不同的颜色。

<TextBlock x:Name="txtStatusMessage"
            TextWrapping="Wrap"
            Height="35">
    <Run Text="{Binding ElementName=txtUserFriendlyName, Path=(Validation.Errors)[0].ErrorContent}" Foreground="Red"/>
    <Run Text="{Binding ElementName=txtXPathValue, Path=(Validation.Errors)[0].ErrorContent}" Foreground="White"/>
    <Run Text="{Binding ElementName=cboTagName, Path=(Validation.Errors)[0].ErrorContent}" Foreground="Green"/>
</TextBlock>