我有一个ProgressbarStyle,我在其中添加一个TextBlock-Control到网格"DeterminateRoot"。这个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的前景色更改为黑色,而不更改进度条的标准颜色?因为,当我删除矩形的Fill-Property (ProgressBarIndicator),然后我可以改变我的TextBlock的ForegroundColor,但我想保持标准的进步栏的外观!
提前感谢您的回答!
致以最亲切的问候Dougy
正如你所说的,如果你将展台属性设置为相同的TemplateBinding你的文本将是不可见的。您必须创建另一个属性,以便您可以独立地管理它们。
在你的代码中创建一个类型为Brush的依赖属性,然后模板绑定你的TextBlock到该属性