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
Позиция закрепления относительно границ контейнера закрепления и других элементов внутри контейнера.
Исключения
Когда элементу управления не удалось выполнить запрошенный стиль закрепления.
Примеры
В следующем примере элемент управления, поддерживающий шаблон элемента управления DockPattern, AutomationElement изменил его 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
Комментарии
Контейнер закрепления — это элемент управления, который позволяет ставить дочерние элементы как по горизонтали, так и по вертикали относительно границ контейнера закрепления и других элементов в контейнере.