0

我在几乎没有回发的页面中使用 RadToolbar 控件。此页面具有的功能之一是多​​个主题。

现在,我需要根据我的主题设置 RadToolbar 的皮肤。我看到 RadToolbar 对象的客户端 API 包含一个“get_skin”方法,该方法正确返回服务器端分配的皮肤名称的名称。但是该对象没有“set_skin”方法。

我要问的是,是否有办法改变工具栏的皮肤客户端代码,或者不;如果没有,你还有什么其他的建议。

谢谢

4

1 回答 1

0

我确实以某种方式解决了这个问题。这是一个有趣的问题。

  1. 我发现不同的样式表文件在我的页面中呈现RadToolbar为不同的主题。
    对于每个皮肤(即“Black”),将为该皮肤(即“RadToolbar_Black”)渲染 css 类
  2. 我将这些样式表添加到我自己的代码中,并下载了这些 css 类中使用的每个图像。之后,我将 url() 地址更改为我保存的图像文件。此外,我将皮肤名称(即“_Black”)替换为“_Default”
    (样式表文件和图像都是程序集中的 Web 资源,Telerik.Web.UI并使用处理程序进行引用WebResource.axd。)
  3. 对于我的每个主题,我创建了一个单独的.css文件。
  4. 现在我禁用了telerik的皮肤。PropertisEnableEmbeddedSkinsEnableEmbeddedBaseStylesheet做到了。
  5. 将 RadToolbar 的皮肤设置为“默认”或忽略分配。
  6. 最后我需要做的是使用 Javascript 在这些 css 文件之间切换以更改工具栏的主题。
于 2013-04-30T10:40:26.913 回答