'宣言 Public Property ColumnHeaderAppearance As Infragistics.Win.AppearanceBase
public Infragistics.Win.AppearanceBase ColumnHeaderAppearance {get; set;}
HeaderAppearance は DateTimeInterval クラスによって公開され、コントロールにお表示される各間隔に別の外観を設定できます。この間隔で表示されるすべてのヘッダーはこの外観を共有します。
ColumnHeaderInitializing イベントに使用されるイベント引数は、イベント引数の AppearanceData プロパティを使用して個々のヘッダーの外観をカスタマイズする方法を提供します。この構造は BackColor および ForeColor などのプロパティを公開し、発生したイベントのヘッダーに適用されます。注: この方法は、アプリケーションのライフタイムで生成されるヘッダー数が膨大な数になる場合があるためあまり推奨されません。複数ヘッダーが同じ外観を共有する場合、この構造の 1 つのインスタンスを共有することによってメモリのフットプリントを削減できます。また、この方法で割り当てられた画像は適切に破棄することを推奨します。
Imports System.Collections.Generic Imports Infragistics.Win Imports Infragistics.Win.UltraWinSchedule Imports System.Diagnostics Public Sub InitColumnProps(ByVal control As UltraTimelineView) ' Set ColumnAutoSizing to 'AllVisibleIntervals' so that when the user auto-sizes ' the columns, the width required to show the additional interval's captions is considered control.ColumnAutoSizing = TimelineViewColumnAutoSizing.AllVisibleIntervals ' Use the ColumnHeaderAppearance to customize the look for all headers control.ColumnHeaderAppearance.BackColor = Color.White control.ColumnHeaderAppearance.BackColor2 = Color.LightBlue control.ColumnHeaderAppearance.BorderColor = Color.DarkBlue control.ColumnHeaderAppearance.ForeColor = Color.DarkBlue ' Don't show images on the headers control.ColumnHeaderImageVisible = False ' Only display the minutes for the primary interval, if there is ' an additional interval being displayed for the hours. Dim hasHourInterval As Boolean = False For Each dti As DateTimeInterval In control.VisibleIntervals Dim timeInterval As TimeInterval = IIf(dti.GetType() Is GetType(TimeInterval), dti, Nothing) If Not timeInterval Is Nothing AndAlso timeInterval.IntervalUnits = TimeIntervalUnits.Hours Then hasHourInterval = True End If next control.PrimaryInterval.HeaderTextFormat = IIf(hasHourInterval, "mm", Nothing) ' Orient the text for the primary interval on a diagonal control.PrimaryInterval.HeaderTextOrientation = New TextOrientationInfo(45, TextFlowDirection.Horizontal) ' Set the ideal width for the column headers control.PerformColumnAutoResize(TimelineViewColumnAutoSizing.AllVisibleIntervals) End Sub
using System.Collections.Generic; using Infragistics.Win; using Infragistics.Win.UltraWinSchedule; using System.Diagnostics; public void InitColumnProps( UltraTimelineView control ) { // Set ColumnAutoSizing to 'AllVisibleIntervals' so that when the user auto-sizes // the columns, the width required to show the additional interval's captions is considered control.ColumnAutoSizing = TimelineViewColumnAutoSizing.AllVisibleIntervals; // Use the ColumnHeaderAppearance to customize the look for all headers control.ColumnHeaderAppearance.BackColor = Color.White; control.ColumnHeaderAppearance.BackColor2 = Color.LightBlue; control.ColumnHeaderAppearance.BorderColor = Color.DarkBlue; control.ColumnHeaderAppearance.ForeColor = Color.DarkBlue; // Don't show images on the headers control.ColumnHeaderImageVisible = false; // Only display the minutes for the primary interval, if there is // an additional interval being displayed for the hours. bool hasHourInterval = false; foreach( DateTimeInterval dti in control.VisibleIntervals ) { TimeInterval timeInterval = dti as TimeInterval; if ( timeInterval != null && timeInterval.IntervalUnits == TimeIntervalUnits.Hours ) hasHourInterval = true; } control.PrimaryInterval.HeaderTextFormat = hasHourInterval ? "mm" : null; // Orient the text for the primary interval on a diagonal control.PrimaryInterval.HeaderTextOrientation = new TextOrientationInfo(45, TextFlowDirection.Horizontal); // Set the ideal width for the column headers control.PerformColumnAutoResize( TimelineViewColumnAutoSizing.AllVisibleIntervals ); }