DockPattern.SetDockPosition(DockPosition) 方法

定义

AutomationElement 停靠在停靠容器内请求的 DockPosition

public:
 void SetDockPosition(System::Windows::Automation::DockPosition dockPosition);
public void SetDockPosition (System.Windows.Automation.DockPosition dockPosition);
member this.SetDockPosition : System.Windows.Automation.DockPosition -> unit
Public Sub SetDockPosition (dockPosition As DockPosition)

参数

dockPosition
DockPosition

相对于停靠容器边界和容器内的其他元素的停靠位置。

例外

当控件无法执行请求的停靠样式时。

示例

在以下示例中, AutomationElement 表示支持 DockPattern 控件模式的控件已 dockPosition 修改。

///--------------------------------------------------------------------
/// <summary>
/// Obtains a DockPattern control pattern from an 
/// automation element.
/// </summary>
/// <param name="targetControl">
/// The automation element of interest.
/// </param>
/// <returns>
/// A DockPattern object.
/// </returns>
///--------------------------------------------------------------------
private DockPattern GetDockPattern(
    AutomationElement targetControl)
{
    DockPattern dockPattern = null;

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

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

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

    Return dockPattern

End Function 'GetDockPattern
///--------------------------------------------------------------------
/// <summary>
/// Sets the dock position of a target.
/// </summary>
/// <param name="dockControl">
/// The automation element of interest.
/// </param>
/// <param name="dockPosition">
/// The requested DockPosition.
/// </param>
///--------------------------------------------------------------------
private void SetDockPositionOfControl(
    AutomationElement dockControl, DockPosition dockPosition)
{
    if (dockControl == null)
    {
        throw new ArgumentNullException(
            "AutomationElement parameter must not be null.");
    }

    try
    {
        DockPattern dockPattern = GetDockPattern(dockControl);
        if (dockPattern == null)
        {
            return;
        }
        dockPattern.SetDockPosition(dockPosition);
    }
    catch (InvalidOperationException)
    {
        // When a control is not able to dock.
        // TO DO: error handling
    }
}
'''--------------------------------------------------------------------
''' <summary>
''' Sets the dock position of a target.
''' </summary>
''' <param name="dockControl">
''' The automation element of interest.
''' </param>
''' <param name="dockPosition">
''' The requested DockPosition.
''' </param>
'''--------------------------------------------------------------------
Private Sub SetDockPositionOfControl( _
ByVal dockControl As AutomationElement, _
ByVal dockPosition As DockPosition)
    If dockControl Is Nothing Then
        Throw New ArgumentNullException( _
        "AutomationElement parameter must not be null.")
    End If

    Try
        Dim dockPattern As DockPattern = GetDockPattern(dockControl)
        If dockPattern Is Nothing Then
            Return
        End If
        dockPattern.SetDockPosition(dockPosition)
    Catch exc As InvalidOperationException
        ' When a control is not able to dock.
        ' TO DO: error handling
    End Try

End Sub

注解

停靠容器是一个控件,它允许相对于停靠容器边界和容器内其他元素的水平和垂直排列子元素。

适用于