2011-07-10 15 views
0

我有一個ProgressbarStyle,我在其中添加一個TextBlock-Control到網格「DeterminateRoot」。這個TextBlock應該顯示一個狀態文本,我在CodeBehind中手動更改,這已經可以工作了。ProgressbarStyle問題

這裏是我的風格,我的標準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的文本爲黑色的把ForegroundColor,不改變進度條的標準顏色?因爲,當我刪除矩形(ProgressBarIndicator)的Fill-Property時,我可以更改TextBlock的ForegroundColor,但我想保留Progressbar的標準視圖!

非常感謝您的回答!

問候 Dougy

回答

0

正如你指出,如果設置展位屬性相同TemplateBinding你的文本將是不可見的。您必須創建另一個屬性,以便您可以獨立管理它們。

在您的代碼中創建一個類型爲的依賴項屬性刷然後將您的TextBlock綁定到該屬性。