图表

时间:2016-05-27 13:14:20

标签: kendo-asp.net-mvc

我想从默认情况下更改我的kendo ui主题。问题是它改变了但仅限于控件:网格等但图表保持完全相同。

我正在捆绑中添加这些样式。

bundles.Add(new StyleBundle("~/Content/kendoUi").Include(
    "~/Content/kendo/2016.1.112/kendo.common.min.css",
    "~/Content/kendo/2016.1.112/kendo.mobile.all.min.css",
    "~/Content/kendo/2016.1.112/kendo.metro.min.css"
));

我错过了什么吗?

1 个答案:

答案 0 :(得分:3)

今天我和同样的事情在一起。出于某种原因,必须通过小部件配置来设置图表的主题。

来自Documentation of the Kendo Client Library

  

Kendo UI Chart小部件附带一组预定义主题。使用   选择主题的主题选项,如示例中所示   下面。主题名称不区分大小写。

$("#chart").kendoChart({
    theme: "blueOpal",
    //...
});

没有Server-Wrappers的文档。但是,它会以这种方式工作:

@(Html.Kendo().Chart().Theme("blueOpal"))

原因似乎是explained here

  

Kendo UI Gauges,Charts,Barcodes,Diagrams和Maps使用混合   浏览器技术,以达到所需的精度和   响应。 可视化呈现为矢量图形   计算布局。相比之下,交互式功能是使用   传统的HTML元素。 因此,外观设置   这些小部件在声明性选项和传统选项之间分配   CSS

如果你想全球化,你需要override kendo

var themable = ["Chart", "TreeMap", "Diagram", "StockChart", "Sparkline", "RadialGauge", "LinearGauge"];

if (kendo.dataviz) {
  for (var i = 0; i < themable.length; i++) {
    var widget = kendo.dataviz.ui[themable[i]];

    if (widget) {
      widget.fn.options.theme = "blueOpal";
    }
  }
}