2016-09-12 49 views
1

我確定有一些簡單的東西我可以忽略,但對於我的生活還沒有弄清楚。我剛開始使用MahApps Mmetro UI,它已將樣式應用於我的所有選項卡。但是對一些標籤,我需要做一些字符串格式的功能,因此標頭聲明如下:Tab項目標題樣式繼承

<TabItem Content="{Binding TaskList}"> 
    <TabItem.Header> 
     <TextBlock Text="{Binding Count, StringFormat=Tasks (\{0\})}" /> 
    </TabItem.Header> 
</TabItem> 

像這樣的定義不繼承的Metro UI樣式標題選項卡項目。有沒有辦法將樣式應用於所有標題?

+0

'' –

+0

@Chris W.我試過了,但它不起作用。它只顯示計數但不顯示字符串「任務」。 – AXG1010

+0

哦對,關閉它'StringFormat ='任務(\ {0 \})'}' –

回答

2

不幸的是,BindingBase.StringFormat僅用於當目標屬性爲string型的,但TabItem.Headerobject型的,所以直接與指定StringFormat結合它未能得到預期的結果。幸運的是,你可以使用TabItem.HeaderStringFormat特性,同時保持了原有的風格來格式化的標題文字:

<TabItem Header="{Binding Count}" HeaderStringFormat="Tasks ({0})" (...) /> 

記住,雖然(它被忽略的時候Header值顯示爲文本HeaderStringFormat僅用於當Header含有控制等)。

+0

啊謝謝。我錯過了HeaderStringFormat屬性! – AXG1010