public new UltraWeekViewUIElement UIElement {get;}
'宣言 Public Shadows ReadOnly Property UIElement As UltraWeekViewUIElement
UIElement プロパティは UltraWeekView コントロールの視覚的表現へのアクセスを提供します。
コントロールの UIElement プロパティは、すべてのコントロールの多くの個々の UIElements が子孫として表示される ChildElements コレクションを提供します。
Imports Infragistics.Win Imports Infragistics.Win.UltraWinSchedule Imports Infragistics.Win.UltraWinSchedule.WeekView Private Sub OptimizeControlForAppointmentDisplay() Dim yesterday As DateTime = DateTime.Today.AddDays(-1) Dim today As DateTime = DateTime.Today Dim tomorrow As DateTime = DateTime.Today.AddDays(1) Dim i As Integer ' アクティビティを追加します ' 予定の追加 If Me.ultraWeekView.CalendarInfo.Appointments.Count = 0 Then For i = 1 To 5 Me.ultraWeekView.CalendarInfo.Appointments.Add(yesterday, "Yesterday's appointment " + i.ToString()) Next For i = 1 To 3 Me.ultraWeekView.CalendarInfo.Appointments.Add(today, "Today's appointment " + i.ToString()) Next For i = 1 To 10 Me.ultraWeekView.CalendarInfo.Appointments.Add(tomorrow, "Tomorrow's appointment " + i.ToString()) Next End If ' メモの追加 If Me.ultraWeekView.CalendarInfo.Notes.Count = 0 Then Me.ultraWeekView.CalendarInfo.Notes.Add(yesterday, "Yesterday's note " + i.ToString()) For i = 1 To 2 Me.ultraWeekView.CalendarInfo.Notes.Add(today, "Today's note " + i.ToString()) Next For i = 1 To 5 Me.ultraWeekView.CalendarInfo.Notes.Add(tomorrow, "Tomorrow's note " + i.ToString()) Next End If ' 休日の追加 If Me.ultraWeekView.CalendarInfo.Holidays.Count = 0 Then Me.ultraWeekView.CalendarInfo.Holidays.Add(yesterday, "My 2-day Holiday") End If ' 最もアクティビティがある日を決定します ' すべての予定の StartDateTime プロパティにある特定の日付の発生を ' カウントし、最も発生が多い日を ' トラックします。 ' Dim dateWithMostActivity As DateTime = DateTime.Today Dim count As Integer = 0 Dim tempCount As Integer = 0 Dim outer As Appointment Dim inner As Appointment For Each outer In Me.ultraWeekView.CalendarInfo.Appointments tempCount = 0 For Each inner In Me.ultraWeekView.CalendarInfo.Appointments If inner.StartDateTime.Date = outer.StartDateTime Then tempCount += 1 Next ' この日付に以前の日付より予定が多くある場合、 ' カウントを変更し、新しい dateWithMostActivity を設定します If tempCount > count Then count = tempCount dateWithMostActivity = outer.StartDateTime End If Next ' 予定がない場合、何もせずに返します If count = 0 Then Return ' CalendarInfo オブジェクトの FirstDayOfWeek プロパティを ' 最も予定がある曜日に設定します Me.ultraWeekView.CalendarInfo.FirstDayOfWeek = dateWithMostActivity.DayOfWeek ' 表示する曜日以外のすべての DayOfWeek オブジェクトの Visible プロパティを ' False に設定します Dim dow As Infragistics.Win.UltraWinSchedule.DayOfWeek For Each dow In Me.ultraWeekView.CalendarInfo.DaysOfWeek If dow.DayOfTheWeek <> dateWithMostActivity.DayOfWeek Then dow.Visible = False Else dow.Visible = True Next ' CalendarInfo オブジェクトの ActiveDay プロパティを ' 最もアクティビティがある日に設定します Me.ultraWeekView.CalendarInfo.ActiveDay = Me.ultraWeekView.CalendarInfo.GetDay(dateWithMostActivity, True) ' その日をビューへ移動して表示します Me.ultraWeekView.ScrollDayIntoView(dateWithMostActivity) ' コントロールで予定の表示を最適化するために、 ' コントロールの ActivityDisplayStyle プロパティを設定すると、 ' 他のアクティビティ (メモおよび休日) は表されません Me.ultraWeekView.ActivityDisplayStyle = ActivityDisplayStyleEnum.Appointments ' 表示を更新するには、すべての UIElements をダーティして確認します Me.ultraWeekView.UIElement.DirtyChildElements() Me.ultraWeekView.UIElement.VerifyChildElements() ' DayDisplayStyle プロパティを Full に設定します Me.ultraWeekView.DayDisplayStyle = DayDisplayStyleEnum.Full End Sub
'宣言 Public Shadows ReadOnly Property UIElement As UltraWeekViewUIElement
using Infragistics.Win; using Infragistics.Win.UltraWinSchedule; using Infragistics.Win.UltraWinSchedule.WeekView; using System.Diagnostics; private void OptimizeControlForAppointmentDisplay() { DateTime yesterday = DateTime.Today.AddDays( -1.0F ); DateTime today = DateTime.Today; DateTime tomorrow = DateTime.Today.AddDays( 1.0F ); // アクティビティを追加します // 予定の追加 if ( this.ultraWeekView.CalendarInfo.Appointments.Count == 0 ) { for ( int i = 1; i <= 5; i ++ ) this.ultraWeekView.CalendarInfo.Appointments.Add(yesterday, "Yesterday's appointment " + i.ToString() ); for ( int i = 1; i <= 3; i ++ ) this.ultraWeekView.CalendarInfo.Appointments.Add(today, "Today's appointment " + i.ToString() ); for ( int i = 1; i <= 10; i ++ ) this.ultraWeekView.CalendarInfo.Appointments.Add(tomorrow, "Tomorrow's appointment " + i.ToString() ); } // メモの追加 if ( this.ultraWeekView.CalendarInfo.Notes.Count == 0 ) { for ( int i = 1; i <= 1; i ++ ) this.ultraWeekView.CalendarInfo.Notes.Add(yesterday, "Yesterday's note " + i.ToString() ); for ( int i = 1; i <= 2; i ++ ) this.ultraWeekView.CalendarInfo.Notes.Add(today, "Today's note " + i.ToString() ); for ( int i = 1; i <= 5; i ++ ) this.ultraWeekView.CalendarInfo.Notes.Add(tomorrow, "Tomorrow's note " + i.ToString() ); } // 休日の追加 if ( this.ultraWeekView.CalendarInfo.Holidays.Count == 0 ) this.ultraWeekView.CalendarInfo.Holidays.Add(yesterday, "My 2-day Holiday" ); // 最もアクティビティがある日を決定します // すべての予定の StartDateTime プロパティにある特定の日付の発生を // カウントし、最も発生が多い日を // トラックします。 // DateTime dateWithMostActivity = DateTime.Today; int count = 0, tempCount = 0; foreach( Appointment outer in this.ultraWeekView.CalendarInfo.Appointments ) { tempCount = 0; foreach( Appointment inner in this.ultraWeekView.CalendarInfo.Appointments ) { if ( inner.StartDateTime.Date == outer.StartDateTime.Date ) tempCount++; } // この日付に以前の日付より予定が多くある場合、 // カウントを変更し、新しい dateWithMostActivity を設定します if ( tempCount > count ) { count = tempCount; dateWithMostActivity = outer.StartDateTime; } } // 予定がない場合、何もせずに返します if ( count == 0 ) return; // CalendarInfo オブジェクトの FirstDayOfWeek プロパティを // 最も予定がある曜日に設定します this.ultraWeekView.CalendarInfo.FirstDayOfWeek = (FirstDayOfWeek)( dateWithMostActivity.DayOfWeek ); // 表示する曜日以外のすべての DayOfWeek オブジェクトの Visible プロパティを // False に設定します foreach( Infragistics.Win.UltraWinSchedule.DayOfWeek dow in this.ultraWeekView.CalendarInfo.DaysOfWeek ) { if ( (int)(dow.DayOfTheWeek) != (int)(dateWithMostActivity.DayOfWeek) ) dow.Visible = false; else dow.Visible = true; } // CalendarInfo オブジェクトの ActiveDay プロパティを // 最もアクティビティがある日に設定します this.ultraWeekView.CalendarInfo.ActiveDay = this.ultraWeekView.CalendarInfo.GetDay( dateWithMostActivity, true ); // その日をビューへ移動して表示します this.ultraWeekView.ScrollDayIntoView( dateWithMostActivity ); // コントロールで予定の表示を最適化するために、 // コントロールの ActivityDisplayStyle プロパティを設定すると、 // 他のアクティビティ (メモおよび休日) は表されません this.ultraWeekView.ActivityDisplayStyle = ActivityDisplayStyleEnum.Appointments; // 表示を更新するには、すべての UIElements をダーティして確認します this.ultraWeekView.UIElement.DirtyChildElements(); this.ultraWeekView.UIElement.VerifyChildElements(); // DayDisplayStyle プロパティを Full に設定します this.ultraWeekView.DayDisplayStyle = DayDisplayStyleEnum.Full; }
'宣言 Public Shadows ReadOnly Property UIElement As UltraWeekViewUIElement