C# RadGridView,更改过滤器图标的颜色
我正在将模板和样式应用于telerik RadGridView,以在选择过滤器图标时调整其颜色 我的问题是我采用了这样的风格C# RadGridView,更改过滤器图标的颜色,c#,silverlight-4.0,telerik,radgridview,C#,Silverlight 4.0,Telerik,Radgridview,我正在将模板和样式应用于telerik RadGridView,以在选择过滤器图标时调整其颜色 我的问题是我采用了这样的风格 <telerik:GridViewDataColumn HeaderCellStyle="{StaticResource GridViewHeaderCellStyle}" ></telerik:GridViewDataColumn> Telerik.Windows.Controls.StyleManager.ApplicationTheme =
<telerik:GridViewDataColumn HeaderCellStyle="{StaticResource GridViewHeaderCellStyle}" ></telerik:GridViewDataColumn>
Telerik.Windows.Controls.StyleManager.ApplicationTheme = new Telerik.Windows.Controls.Windows7Theme();
但是突然之间,expression blend生成的样式与主题不匹配。有没有办法获得主题定义的风格
如果我删除部分样式,只定义这样的下拉样式(这意味着标题的其余部分不会更改,主题将与结果样式匹配)
如果主题处于关闭状态,它将只将模板应用于过滤下拉列表,但如果主题处于打开状态,则样式将被忽略。由于这个问题的奇怪性质,我继续搜索了很长时间以找到答案 对我来说,似乎没有一个属性可以控制Gridview上过滤器图标内的颜色 为了支持这一说法,我使用Telerik自己的工具VisualStyleBuilder来改变我能找到的任何可能影响图标颜色的属性 正如您在这里看到的,我可以更改图标外部区域的颜色,但也注意到“Image”属性设置为图片:
这意味着,当您将鼠标悬停在按钮上时,控件本身很可能会将图像替换为Telerik套件中的另一个图像。确实有点黑客行为,但我必须使用ILSpy进入dll Telerik.Windows.Themes.Windows7.dll,并查找名为 gridviewheadercell.xaml 如果我把它复制过来,然后应用样式。然后我不得不回到expression blend,编辑PART_DistinctFilterControl的模板,并从那里开始 它是可行的,但是如果我们在某个阶段决定应用不同的主题,或者telerik改变当前的主题,那么它可能会引起问题
我愿意接受更好的建议。我认为这是因为您的帖子没有标记silverlight:p。差异并不总是最大的,但在SL中您可能会改变颜色。让我知道你发现了什么。我想我们在看不同的东西。我使用的控件由组成图标的路径组成,而不是图像。当我查看视觉样式生成器时,它似乎只适用于ASP.NET。哎呀,我需要澄清我使用的是silverlight。对不起,KreepN。我写这个问题相当匆忙。现在更新了。我也这么想,没什么大不了的。不过,我在Telerik网站上没有看到任何关于silverlight工具的内容,因此您可能很难分解工具本身的结构。
<Style TargetType="GridView:FilteringDropDown">
<Setter Property="Template" Value="{StaticResource DistinctFilterControlTemplate}"/>
</Style>