Xaml 渐进式问题

Xaml 渐进式问题,xaml,silverlight-4.0,styles,Xaml,Silverlight 4.0,Styles,我有一个ProgressbarStyle,其中我向网格“DeterminateRoot”添加了一个TextBlock控件。这个文本块应该显示一个状态文本,我在CodeBehind中手动更改了它,它已经工作了 以下是我的风格部分,我在标准ProgressbarStyle中对其进行了更改: 我的问题是:如何在不更改progressbar的standardcolor的情况下,将TextBlock文本的Foregroundcolor更改为黑色?因为,当我删除矩形(ProgressBarIndicat

我有一个ProgressbarStyle,其中我向网格“DeterminateRoot”添加了一个TextBlock控件。这个文本块应该显示一个状态文本,我在CodeBehind中手动更改了它,它已经工作了

以下是我的风格部分,我在标准ProgressbarStyle中对其进行了更改:


我的问题是:如何在不更改progressbar的standardcolor的情况下,将TextBlock文本的Foregroundcolor更改为黑色?因为,当我删除矩形(ProgressBarIndicator)的Fill属性时,我可以更改TextBlock的ForegroundColor,但我想保持Progressbar的标准外观

提前感谢您的回答

致意
Dougy

如您所述,如果您将booth属性设置为相同的TemplateBinding文本将不可见。您必须创建另一个属性,以便可以独立管理它们

在代码中创建类型为Brush的依赖项属性,然后用模板将TextBlock绑定到该属性

   <Grid x:Name="DeterminateRoot" Margin="1">
        <Rectangle x:Name="ProgressBarIndicator" Fill="{TemplateBinding Foreground}" HorizontalAlignment="Left" Margin="{TemplateBinding BorderThickness}" RadiusY="1.5" RadiusX="1.5" StrokeThickness="0.5"/>
        <TextBlock x:Name="txtbStatusText" Text="5 of 20" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="Black" FontWeight="Bold" FontFamily="Arial" FontSize="11"></TextBlock>
   </Grid>