我想从默认情况下更改我的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"
));
我错过了什么吗?
答案 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";
}
}
}