Page tree
Skip to end of metadata
Go to start of metadata

ComponentOne ClearStyle 技术

ClearStyle 技术是一种新的,提供Silverlight以及WPF控件样式的方法。ClearStyle 允许您为控件创建自定义样式,而不用处理麻烦的XAML模板和样式资源。
目前,为全部的WPF控件添加一个主题支持,您必须创建一个样式资源模版。在Microsoft Visual Studio中,处理这
个过程很难;这也是为什么微软引入了Expression Blend使得该项任务变得稍微简单一些。对于那些不熟悉Blend或者没有足够的时间学习的开发人员来说,必须在两个开发环境之间切换是一个挑战。您也可以考虑聘请一个设计师,但是当您的设计师和开发人员共享同一个XAML文件时,事情会变得有些复杂。
这就是为什么引入ClearStyle的原因。通过ClearStyle的修改样式的能力,您可以在Visual Studio中尽可能的直观的修改控件样式。在大多数情况下,您可能只想对您的应用程序中的控件做一些简单的样式改变,因此这一过程应当非常简单容易。例如,如果您只想改变您的data grid中间行的颜色,这个操作应当简单的就像设置一个属性一样。您不应该创建一个完整的和复杂的模板,只是为了简单地改变一些颜色。

 ClearStyle的结构

控件的每一个关键部分都是以简单的颜色属性出现的。这导致了为每个控件准备的一组独特的样式属性。例如,一个
Gauge具有PointFill以及PointStroke属性,而一个DataGrid的行具有SelectedBrush以及MouseOverBrush属性。
假定在您的Form上具有一个不支持ClearStyle的控件。您可以获取由ClearStyle创建的XAML,并用其做为匹配界面上其他元素外观的模具(比方说抓取精确的颜色)。或者假定您希望通过ClearStyle重写部分的生成样式(比如说您的自定义滚动条)。这同样也是可行的,因为ClearStyle可以被扩展,您可以覆盖期望的样式。
ClearStyle旨在提供一个快速容易地修改样式的方案,但是您仍旧可以自由地按照老式的方式操作ComponentOne控件,获取需要的精确样式。ClearStyle的接口将不支持那些需要全面自定制的较少见的场景。

 ClearStyle 属性

WPF及Silverlight版FlexGrid支持ComponentOne的这一新的ClearStyle技术,让您轻松的在不需要改变控件模版的情况下,改变控件的颜色。通过设置几个颜色属性,您可以快速改变控件的样式。
下表概述了C1FlexGrid 控件的画刷属性:画刷描述
Background 获取或设置控件背景的画刷。
AlternatingRowBackground 获取或设置用来绘制奇数行背景的System.Windows.Media.Brush画刷。
BottomRightCellBackground 获取或设置用来绘制右下角单元格背景的System.Windows.Media.Brush画刷。
ColumnHeaderBackground 获取或设置用来绘制列头背景的System.Windows.Media.Brush画刷。 ColumnHeaderForeground 获取或设置用来绘制列头内容的System.Windows.Media.Brush画刷。
ColumnHeaderSelectedBackground 获取或设置用来绘制选中单元格所在的列头背景的
System.Windows.Media.Brush画刷。
CursorBackground 获取或设置用来绘制光标单元格背景的System.Windows.Media.Brush画刷。
CursorForeground 获取或设置用来绘制光标单元格前景的System.Windows.Media.Brush画刷。
EditorBackground 获取或设置在编辑模式下,用来绘制单元格背景的
System.Windows.Media.Brush画刷。
EditorForeground 获取或设置在编辑模式下,用来绘制单元格前景的
System.Windows.Media.Brush画刷。
FrozenLinesBrush 获取或设置用作绘制grid中,冻结区和滚动区域之间的分隔线的 System.Windows.Media.Brush画刷。
GridLinesBrush 获取或设置用来绘制单元格之间的线形的System.Windows.Media.Brush画刷。
GroupRowBackground 获取或设置用来绘制分组行背景的 System.Windows.Media.Brush画刷。
GroupRowForeground 获取或设置用来绘制分组行前景的 System.Windows.Media.Brush画刷。
HeaderGridLinesBrush 获取或设置用来绘制行和列头单元格之间线形的
System.Windows.Media.Brush画刷。
RowBackground 获取或设置用来绘制行背景的System.Windows.Media.Brush画刷。
RowHeaderBackground 获取或设置用来绘制行头背景的System.Windows.Media.Brush画刷。
RowHeaderForeground 获取或设置用来绘制行头前景的System.Windows.Media.Brush画刷。
RowHeaderSelectedBackground 获取或设置用来绘制选中单元格所在行的行头背景的
System.Windows.Media.Brush画刷。
SelectionBackground 获取或设置用来绘制出了光标单元格之外选中的单元格背景的
System.Windows.Media.Brush画刷。
SelectionForeground 获取或设置用来绘制出了光标单元格之外选中的单元格前景的
System.Windows.Media.Brush画刷。
TopLeftCellBackground 获取或设置用来绘制grid左上角单元格背景的System.Windows.Media.Brush 画刷。
请注意以上描述中,到属性的引用链接指向WPF版本;对于Silverlight版本,请参见Silverlight命名空间下具有相同名称的成员。
你可以通过设置一个或多个属性,彻底地改变C1FlexGrid控件的外观,例如,如果你设置AlternatingRowBackground 属性的值为"#FFC3F2F2",则C1FlexGrid外观类似下图所示:

  • No labels