ProgressbarStyle问题

时间:2011-07-10 23:03:24

标签: xaml silverlight-4.0 styles

我有一个ProgressbarStyle,我在其中向Text“DeterminateRoot”添加一个TextBlock-Control。这个TextBlock应该显示一个状态文本,我在CodeBehind中手动更改,这已经有效了。

这是我的风格的一部分,我在标准的ProgressbarStyle中更改了:

   <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>

我的问题是:如何在不更改进度条的标准颜色的情况下将TextBlock-Text的Foregroundcolor更改为黑色?因为,当我删除Rectangle的Fill-Property(ProgressBarIndicator)时,我可以更改TextBlock的ForegroundColor,但是我想保留Progressbar的标准视图!

提前感谢您的回答!

最诚挚的问候 Dougy

1 个答案:

答案 0 :(得分:0)

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

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