使用 RadSkinManager 的 Telerik Rad 自定义主题

Telerik Rad Customized Theme using RadSkinManager

我需要使用 Telerik Rad Controls 为新客户端创建一个主题。我们有两种方法可以做到这一点。

  1. Create and Register Telerik Rad Control Custom skin manually

  2. Create and Embed Telerik Rad Control Custom Skin into an Assembly

在我现有的应用程序中,我们有几个内置的 Telerik 主题,它们是使用 RadSkinManager 填充的,如下所示。如何保留 RadSkinManager 中的所有主题下拉并添加客户正在寻找的新自定义主题?

<telerik:RadSkinManager ID="RadSkinManager" runat="server" ShowChooser="True" Visible="false" PersistenceMode="Session">
</telerik:RadSkinManager>

为了能够在 Telerik 主题旁边列出自定义主题,您需要执行以下步骤。

  1. 使用 Creating a Custom Skin. I made use of Visual Style Builder 工具下列出的选项之一构建您的自定义主题,以根据现有的 Telerik 主题创建名为 MetroRed 的主题并下载主题文件。
  2. 使用 Skin Assembly Builder using your custom theme files as per the steps outlined in Create a Custom Skin dll from an Existing Custom Skin with Skin's Assembly Builder
  3. 构建自定义皮肤 dll
  4. 在您的 ASP.NET 项目中添加对上面第 2 步中创建的自定义皮肤 dll 的引用
  5. 修改RadSkinManager声明如下

例如Default.aspx 显示 SkinChooser 下拉列表。

<telerik:RadSkinManager ID="RadSkinManager" runat="server" ShowChooser="True">
    <Skins>
        <telerik:SkinReference Assembly="MetroRed" />
    </Skins>
</telerik:RadSkinManager>
  1. SkinChooser 中显示自定义皮肤 - 在 Default.aspx 页面的 Init(代码隐藏)中显式添加新皮肤,如下所示:

例如Default.aspx.cs

protected void Page_Init(object sender, EventArgs e)
{
    var skinCombo = RadSkinManager.GetSkinChooser();
    skinCombo.Items.Add(new RadComboBoxItem("Metro Red", "MetroRed"));
}

现在 SkinChooser 将列出自定义皮肤 'Metro Red' 以及其余的 Telerik 默认主题,最终用户将能够 select 从列表中选择首选主题.

参考: Creating a Custom Skin, Telerik Forum question on Skin chooser, How to load skins from external assemblies - 查看 Tsvetoslav

上传的示例项目 RadCustomSkinSelected