DockPattern.SetDockPosition(DockPosition) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将 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
注解
停靠容器是一个控件,它允许相对于停靠容器边界和容器内其他元素的水平和垂直排列子元素。