Partilhar via


GridPattern.GridPatternInformation.RowCount Propriedade

Definição

Obtém o número total de linhas em uma grade.

public:
 property int RowCount { int get(); };
public int RowCount { get; }
member this.RowCount : int
Public ReadOnly Property RowCount As Integer

Valor da propriedade

Int32

O número total de linhas em uma grade.

Exemplos

No exemplo a seguir, um ouvinte de eventos é configurado para uma alteração de estrutura de grade, como um item de grade de linha ou coluna sendo adicionado ou removido da grade.

///--------------------------------------------------------------------
/// <summary>
/// Set up grid event listeners.
/// </summary>
/// <param name="targetControl">
/// The automation element of interest.
/// </param>
///--------------------------------------------------------------------
private void SetGridEventListeners(AutomationElement targetControl)
{
    StructureChangedEventHandler gridStructureChangedListener = 
        new StructureChangedEventHandler(OnGridStructureChange);
    Automation.AddStructureChangedEventHandler(
        targetControl, 
        TreeScope.Element, 
        gridStructureChangedListener);
}
'''--------------------------------------------------------------------
''' <summary>
''' Set up grid event listeners.
''' </summary>
''' <param name="targetControl">
''' The automation element of interest.
''' </param>
'''--------------------------------------------------------------------
Private Sub SetGridEventListeners( _
ByVal targetControl As AutomationElement)
    Dim gridStructureChangedListener As StructureChangedEventHandler = _
    AddressOf OnGridStructureChange
    Automation.AddStructureChangedEventHandler( _
    targetControl, TreeScope.Element, gridStructureChangedListener)
End Sub
///--------------------------------------------------------------------
/// <summary>
/// Event handler for grid structure change.
/// </summary>
/// <param name="src">Object that raised the event.</param>
/// <param name="e">Event arguments.</param>
///--------------------------------------------------------------------
private void OnGridStructureChange(
    object src, StructureChangedEventArgs e)
{
    // Make sure the element still exists. Elements such as tooltips
    // can disappear before the event is processed.
    AutomationElement sourceElement;
    try
    {
        sourceElement = src as AutomationElement;
    }
    catch (ElementNotAvailableException)
    {
        return;
    }

    GridPattern gridPattern = GetGridPattern(sourceElement);

    if (gridPattern == null)
    {
        return;
    }

    if (gridPattern.Current.ColumnCount != columnCount)
    {
        // Column item added.
    }
    else if (gridPattern.Current.RowCount != rowCount)
    {
        // Row item added.
    }
}
// Member variables to track current row and column counts.
private int columnCount = 0;
private int rowCount = 0;

///--------------------------------------------------------------------
/// <summary>
/// Handles our application shutdown.
/// </summary>
/// <param name="args">Event arguments.</param>
///--------------------------------------------------------------------
protected override void OnExit(System.Windows.ExitEventArgs args)
{
    Automation.RemoveAllEventHandlers();
    base.OnExit(args);
}
'''--------------------------------------------------------------------
''' <summary>
''' Event handler for grid structure change.
''' </summary>
''' <param name="src">Object that raised the event.</param>
''' <param name="e">Event arguments.</param>
'''--------------------------------------------------------------------
Private Sub OnGridStructureChange( _
ByVal src As Object, ByVal e As StructureChangedEventArgs)
    ' Make sure the element still exists. Elements such as tooltips
    ' can disappear before the event is processed.
    Dim sourceElement As AutomationElement
    Try
        sourceElement = DirectCast(src, AutomationElement) 
    Catch exc As ElementNotAvailableException
        Return
    End Try

    Dim gridPattern As GridPattern = GetGridPattern(sourceElement)

    If gridPattern Is Nothing Then
        Return
    End If

    If gridPattern.Current.ColumnCount <> columnCount Then
        ' Column item added.
    ElseIf gridPattern.Current.RowCount <> rowCount Then
        ' Row item added.
    End If

End Sub
' Member variables to track current row and column counts.
Private columnCount As Integer = 0
Private rowCount As Integer = 0

'''--------------------------------------------------------------------
''' <summary>
''' Handles our application shutdown.
''' </summary>
''' <param name="args">Event arguments.</param>
'''--------------------------------------------------------------------
Protected Overrides Sub OnExit( _
ByVal args As System.Windows.ExitEventArgs)
    Automation.RemoveAllEventHandlers()
    MyBase.OnExit(args)
End Sub
///--------------------------------------------------------------------
/// <summary>
/// Obtains a GridPattern control pattern from an 
/// automation element.
/// </summary>
/// <param name="targetControl">
/// The automation element of interest.
/// </param>
/// <returns>
/// A GridPattern object.
/// </returns>
///--------------------------------------------------------------------
private GridPattern GetGridPattern(
    AutomationElement targetControl)
{
    GridPattern gridPattern = null;

    try
    {
        gridPattern =
            targetControl.GetCurrentPattern(
            GridPattern.Pattern)
            as GridPattern;
    }
    // Object doesn't support the 
    // GridPattern control pattern
    catch (InvalidOperationException)
    {
        return null;
    }

    return gridPattern;
}
'''--------------------------------------------------------------------
''' <summary>
''' Obtains a GridPattern control pattern from an 
''' automation element.
''' </summary>
''' <param name="targetControl">
''' The automation element of interest.
''' </param>
''' <returns>
''' A GridPattern object.
''' </returns>
'''--------------------------------------------------------------------
Private Function GetGridPattern( _
ByVal targetControl As AutomationElement) As GridPattern
    Dim gridPattern As GridPattern = Nothing

    Try
        gridPattern = DirectCast( _
        targetControl.GetCurrentPattern( _
        gridPattern.Pattern), GridPattern)
    Catch exc As InvalidOperationException
        ' Object doesn't support the 
        ' GridPattern control pattern
        Return Nothing
    End Try

    Return gridPattern
End Function 'GetGridPattern

Comentários

Linhas e colunas ocultas, dependendo da implementação do provedor, podem ser carregadas na árvore de Automação da Interface do Usuário e, portanto, serão refletidas nas propriedades e ColumnCount nas RowCount propriedades. Se as linhas e colunas ocultas ainda não tiverem sido carregadas, elas não serão contadas.

O valor padrão é 0.

Aplica-se a