バージョン

GetAncestor メソッド

要求された型の親を見つけるまで、親チェインをさかのぼります。また、この要素が引き渡された要素と同じ型の場合、この要素を返します。
シンタックス
'宣言
 
Public Function GetAncestor( _
   ByVal type As Type _
) As UIElement
public UIElement GetAncestor( 
   Type type
)

パラメータ

type
検索する System.Type

戻り値の型

要求された型を一致する UIElement
使用例
Imports Infragistics.Win
Imports System.Drawing
Imports System.Diagnostics

Public Function GetRowCellCount(ByVal pt As Point) As Integer
      
       ' Determine if we clicked on a row, first get the element under the mouse.
       Dim elementUnderMouse As UIElement

		elementUnderMouse = Me.UltraGrid1.DisplayLayout.UIElement.ElementFromPoint(pt)

       If Not elementUnderMouse Is Nothing Then
           Dim elementRow As UIElement 

				elementRow = elementUnderMouse.GetAncestor(GetType(UltraWinGrid.RowUIElement))
           If Not elementRow Is Nothing Then

               ' You now have the row element to do with as you please.
               ' Get the count of the cells collection
               Dim row As UltraWinGrid.UltraGridRow = elementRow.GetContext(GetType(UltraWinGrid.UltraGridRow))
               If Not row Is Nothing Then
                   Debug.WriteLine(row.Cells.Count.ToString())
                   Return row.Cells.Count
               End If
           End If
       End If

       Return 0

   End Function
using Infragistics.Win;
using System.Drawing;
using System.Diagnostics;

private int GetRowCellCount(Point pt)
{
	// Determine if we clicked on a row
	UIElement elementUnderMouse = this.ultraGrid1.DisplayLayout.UIElement.ElementFromPoint(pt);

	if (null != elementUnderMouse)
	{
		UIElement elementRow = elementUnderMouse.GetAncestor(typeof(UltraWinGrid.RowUIElement ));

		if (null != elementRow)
		{
			// You now have the row element to do with as you please.
			// Get the count of the cells collection
			UltraWinGrid.UltraGridRow row = elementRow.GetContext(typeof(UltraWinGrid.UltraGridRow)) as UltraWinGrid.UltraGridRow ;

			if (null != row)
			{
				Debug.WriteLine(row.Cells.Count.ToString());
				return row.Cells.Count;
			}
		}
	}

	return 0;

}
参照