【问题标题】:RadGridView, Changing Colour of Filter iconRadGridView,更改过滤器图标的颜色
【发布时间】:2011-11-22 03:04:36
【问题描述】:

我正在将模板和样式应用到 Telerik RadGridView 以调整选择时过滤器图标的颜色。

我的问题是我应用了这样的样式,

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

当我选择生成模板选项时,样式是由表达式混合生成的。

问题是我想应用这样的主题,

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

但是突然之间,表情混合生成的样式与主题不匹配。有没有办法获得主题定义的样式?

如果我随后删除部分样式以仅定义这样的下拉样式(这意味着标题的其余部分不会更改并且主题将匹配生成的样式),

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

如果主题关闭,它将仅将模板应用于过滤下拉菜单,但如果主题打开,则样式将被忽略。

【问题讨论】:

    标签: c# silverlight-4.0 telerik radgridview


    【解决方案1】:

    由于这个问题的好奇,我继续搜索了很长时间才找到答案。

    在我看来,似乎没有一个属性可以控制 Gridview 上的过滤器图标内的颜色。

    为了支持这一说法,我使用了 Telerik 自己的工具 Visual Style Builder 来更改我发现的可能影响图标颜色的任何属性。

    正如您在此处看到的,我能够更改图标外区域的颜色,但还要注意“图像”属性设置为图片:

    这意味着当您将鼠标悬停在按钮上时,控件本身很可能会将图像替换为位于 Telerik 套件中某处的另一个图像。

    【讨论】:

    • 我认为这是因为您的帖子没有标记为 silverlight :P。差异并不总是最大的,但在 SL 中您可能会更改该颜色。让我知道你发现了什么。
    • 我认为我们正在寻找不同的东西。我使用的控件由构成图标的路径组成,而不是图像。当我查看 Visual Style Builder 时,它似乎只适用于 ASP .NET。哎呀,我需要澄清一下我正在使用 Silverlight。
    • 道歉KreepN。我写这个问题比较着急。现已更新。
    • 我想的差不多,没什么大不了的。不过,我在 Telerik 网站上没有看到任何关于 silverlight 工具的信息,因此您可能很难分解工具本身的结构。
    【解决方案2】:

    确实有点破解,但我必须使用 ILSpy 进入 dll、Telerik.Windows.Themes.Windows7.dll 并查找名为的 xaml 文件,

    gridviewheadercell.xaml

    如果我随后将其复制并应用样式。然后我不得不回到表达式混合,编辑 PART_DistinctFilterControl 的模板并从那里开始。

    它有效,但如果我们在某个阶段决定应用不同的主题,或者 Telik 更改当前主题,那么它可能会导致问题。

    我愿意接受更好的建议。

    【讨论】:

      猜你喜欢
      • 2012-12-15
      • 2021-03-17
      • 1970-01-01
      • 1970-01-01
      • 2015-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-09
      相关资源
      最近更新 更多