我遇到了WPF選項卡視圖控件的問題,我希望這裏有人能夠幫助我。WPF選項卡視圖,自定義模板和輔助功能
我希望我的標籤視圖控件對標籤標題使用圓角,因爲我認爲圓形標籤看起來更好。
爲此,我使用Expression Blend中的「編輯複製」命令修改了選項卡的默認控制模板。然後,我只需爲標題標題的「邊框」設置角落半徑。
但是,這種方法的問題在於「編輯複製」命令最終會生成用於顯示「活動」和「鼠標懸停」選項卡背景的漸變畫筆的文字顏色值。
當「hi contrast」模式啓用時,會導致問題。與其他控件一樣,切換到hi對比顏色方案時,帶修改模板的選項卡將使用漸變畫筆中爲活動和鼠標懸停選項卡選項卡指定的文字顏色值。這最終導致這些選項卡無法讀取,因爲當操作系統切換到高對比度模式(灰色背景上的白色文本不可讀)時,選項卡標題上的文本會變爲「白色」。
我想我可以在高對比度模式啓用時切換回正方形標籤,這將解決這個特殊問題。不過,我想象一下安裝了自定義Windows主題的用戶會遇到類似的問題。
所以,我想知道的是:
- 有沒有什麼辦法可以改變梯度指向系統資源,而不是字面值,使得它的顏色會被更新正確時高對比度模式已啓用
- 或者,有沒有辦法讓我在標籤頁眉的邊框上設置角落半徑而不創建新的控件模板?
編輯:
我想我應該有一點更加明確什麼我要找的。 我想要一個選項卡控件,其行爲與默認選項卡控件完全相同,只是標籤頁眉角已舍入。默認情況下,選項卡控件將爲選項卡背景使用漸變,並在用戶將鼠標懸停在其上時突出顯示非活動選項卡。它也會正確響應並改變它的顏色,當操作系統切換到高對比度模式時,鼠標懸停在行爲上。我仍然需要這種行爲。
在Blend中創建默認控件模板的副本將創建一個控件模板,該模板在高對比度模式下無法正常工作。我想知道我需要對控件模板或我的窗口中的代碼執行何種操作,以使生成的控件模板在高對比度模式下正常工作。
添加對系統畫筆的引用不是問題(我想了很多)。問題是我無法使用系統刷子重新創建控件的默認行爲。 – 2008-11-26 01:24:49