2011-11-22 106 views
1

我正在將模板和樣式應用於telerik RadGridView,以在選擇過濾器圖標時調整過濾器圖標的顏色。RadGridView,更改過濾器圖標的顏色

我的問題是,我申請一個樣式像這樣,通過Expression Blend中,當我選擇生成模板選項生成

<telerik:GridViewDataColumn HeaderCellStyle="{StaticResource GridViewHeaderCellStyle}" ></telerik:GridViewDataColumn> 

的風格。

的問題是,我想申請一個主題就是這樣,

Telerik.Windows.Controls.StyleManager.ApplicationTheme = new Telerik.Windows.Controls.Windows7Theme(); 

但後來突然說Expression Blend中產生的不符合主題的風格。有沒有辦法讓主題定義的風格?

如果我然後取出樣式的部分只定義像這樣的下拉樣式(這意味着該標題的其餘部分將不被改變,並且主題將匹配所得的樣式),

<Style TargetType="GridView:FilteringDropDown"> 
    <Setter Property="Template" Value="{StaticResource DistinctFilterControlTemplate}"/> 
</Style> 

它適用於主題關閉的情況,它僅將模板應用於過濾下拉菜單,但如果主題處於打開狀態,則該樣式將被忽略。

回答

0

由於這個問題的好奇性,我繼續尋找很長時間才找到答案。

對我來說,似乎沒有一個屬性可以控制GridView上過濾器圖標的顏色。

爲了支持這一說法,我使用了Visual Style Builder(Telerik自己的工具)來更改任何可能影響圖標顏色的屬性。

正如你可以看到這裏,我能夠更改圖標以外的區域的顏色,還要注意的是,「圖像」屬性設置爲圖片:

enter image description here

這是什麼意味着當你將鼠標懸停在按鈕上時,控件本身很可能會將圖像替換爲位於Telerik套件中某個位置的圖像。

+0

我會認爲這是因爲你的文章沒有被標記silverlight:P。差異並不總是最大的,但在SL中可能會改變這種顏色。勒米知道你發現了什麼。 – KreepN

+0

我認爲我們正在尋找不同的東西。我正在使用的控件由組成圖標的路徑組成,而不是圖像。當我看着Visual Style Builder時,它似乎只是用於ASP。淨。 Opps,我需要澄清我正在使用silverlight。 – peter

+0

道歉KreepN。我很急於寫這個問題。現在更新。 – peter

0

一個黑客真的有點,但我不得不進入該dll,Telerik.Windows.Themes.Windows7.dll使用ILSpy並查找名爲XAML文件,

gridviewheadercell.xaml

如果我再複製一遍,並應用該風格。然後我不得不回到表達式混合,然後編輯PART_DistinctFilterControl的模板並從那裏開始。

它有效,但如果我們在某個階段決定應用不同的主題,或者telerik更改當前主題,則可能會導致問題。

我很樂意提供更好的建議。