'宣言 Public Shadows ReadOnly Property UIElement As UltraMonthViewSingleUIElement
public new UltraMonthViewSingleUIElement UIElement {get;}
UIElement プロパティは UltraMonthViewSingle コントロールの視覚的表現へのアクセスを提供します。
コントロールの UIElement プロパティは、すべてのコントロールの多くの個々の UIElements が子孫として表示される ChildElements コレクションを提供します。
Imports Infragistics.Win Imports Infragistics.Win.UltraWinSchedule Imports Infragistics.Win.UltraWinSchedule.MonthViewSingle Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim info As String = "The descendant elements of the control's main UIElement are: " + vbCrLf + vbCrLf Me.EnumerateChildElements(Me.ultraMonthViewSingle1.UIElement, info, 0) ' UIElement 階層をメッセージ ボックスに表示します MessageBox.Show(info, "EnumerateUIElements", MessageBoxButtons.OK) End Sub Private Sub EnumerateChildElements(ByVal element As UIElement, ByRef info As String) ' インデント レベルを取得します Dim level As Integer = Me.GetElementLevel(element) Dim tabChar As String = String.Empty Dim i As Integer For i = 0 To level tabChar += Chr(9) Next ' 次の繰り返しのためにレベルを増加します level += 1 ' 指定した要素の ChildElements コレクションを繰り返します Dim child As UIElement For Each child In element.ChildElements ' 各の子要素のタイプ名を出力します info += tabChar + child.ToString() + vbCrLf ' 各子の子などを取得するには、この関数を再帰的に呼び出します Me.EnumerateChildElements(child, info) Next End Sub ' 指定した UIElement の「代」を返します ' 「代」はUIElement の先祖 UIElements の数です Private Function GetElementLevel(ByVal element As UIElement) Dim level As Integer Dim parentElement As UIElement = element.Parent ' null 値の親を検索するまでにレベルを増加します While Not parentElement Is Nothing level += 1 parentElement = parentElement.Parent End While Return level End Function
using Infragistics.Win; using Infragistics.Win.UltraWinSchedule; using Infragistics.Win.UltraWinSchedule.MonthViewSingle; using System.Diagnostics; private void button1_Click(object sender, System.EventArgs e) { string info = "The descendant elements of the control's main UIElement are: " + "\n" + "\n"; this.EnumerateChildElements( this.ultraMonthViewSingle1.UIElement, ref info ); // デバッガーに UIElement 階層を出力します Debug.WriteLine( info ); } private void EnumerateChildElements( UIElement element, ref string info ) { int level = this.GetElementLevel( element ); string tabChar = string.Empty; for ( int i = 0; i <= level; i ++ ) { tabChar += ((char)(9)).ToString(); } // 次の繰り返しのためにレベルを増加します level++; // 指定した要素の ChildElements コレクションを繰り返します foreach( UIElement child in element.ChildElements ) { // 各の子要素のタイプ名を出力します info += tabChar + child.ToString() + "\n"; // 各子の子などを取得するには、この関数を再帰的に呼び出します this.EnumerateChildElements( child, ref info ); } } // 指定した UIElement の「世代」を返します // 「世代」はUIElement の先祖 UIElements の数です private int GetElementLevel( UIElement element ) { int level = 0; UIElement parentElement = element.Parent; // null 値の親を検索するまでにレベルを増加します while ( parentElement != null ) { level ++; parentElement = parentElement.Parent; } return level; }