TransformPattern.TransformPatternInformation.CanRotate Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение, указывающее, можно ли повернуть элемент модель автоматизации пользовательского интерфейса.
public:
property bool CanRotate { bool get(); };
public bool CanRotate { get; }
member this.CanRotate : bool
Public ReadOnly Property CanRotate As Boolean
Значение свойства
Значение true
, если элемент можно поворачивать; в противном случае — значение false
.
Примеры
В следующем примере TransformPattern шаблон элемента управления получается из AutomationElement и затем используется для поворота AutomationElement.
///--------------------------------------------------------------------
/// <summary>
/// Obtains a TransformPattern control pattern from
/// an automation element.
/// </summary>
/// <param name="targetControl">
/// The automation element of interest.
/// </param>
/// <returns>
/// A TransformPattern object.
/// </returns>
///--------------------------------------------------------------------
private TransformPattern GetTransformPattern(
AutomationElement targetControl)
{
TransformPattern transformPattern = null;
try
{
transformPattern =
targetControl.GetCurrentPattern(TransformPattern.Pattern)
as TransformPattern;
}
catch (InvalidOperationException)
{
// object doesn't support the TransformPattern control pattern
return null;
}
return transformPattern;
}
'''--------------------------------------------------------------------
''' <summary>
''' Obtains a TransformPattern control pattern from
''' an automation element.
''' </summary>
''' <param name="targetControl">
''' The automation element of interest.
''' </param>
''' <returns>
''' A TransformPattern object.
''' </returns>
'''--------------------------------------------------------------------
Private Function GetTransformPattern( _
ByVal targetControl As AutomationElement) As TransformPattern
Dim transformPattern As TransformPattern = Nothing
Try
transformPattern = DirectCast( _
targetControl.GetCurrentPattern(transformPattern.Pattern), _
TransformPattern)
Catch exc As InvalidOperationException
' object doesn't support the TransformPattern control pattern
Return Nothing
End Try
Return transformPattern
End Function 'GetTransformPattern
///--------------------------------------------------------------------
/// <summary>
/// Calls the TransformPattern.Rotate() method for an associated
/// automation element.
/// </summary>
/// <param name="transformPattern">
/// The TransformPattern control pattern obtained from
/// an automation element.
/// </param>
/// <param name="degrees">
/// The amount of degrees to rotate the automation element.
/// </param>
///--------------------------------------------------------------------
private void RotateElement(
TransformPattern transformPattern, double degrees)
{
try
{
if (transformPattern.Current.CanRotate)
{
transformPattern.Rotate(degrees);
}
}
catch (InvalidOperationException)
{
// object is not able to perform the requested action
return;
}
}
'''--------------------------------------------------------------------
''' <summary>
''' Calls the TransformPattern.Rotate() method for an associated
''' automation element.
''' </summary>
''' <param name="transformPattern">
''' The TransformPattern control pattern obtained from
''' an automation element.
''' </param>
''' <param name="degrees">
''' The amount of degrees to rotate the automation element.
''' </param>
'''--------------------------------------------------------------------
Private Sub RotateElement( _
ByVal transformPattern As TransformPattern, ByVal degrees As Double)
Try
If transformPattern.Current.CanRotate Then
transformPattern.Rotate(degrees)
End If
Catch
' object is not able to perform the requested action
Return
End Try
End Sub
Комментарии
Объект нельзя переместить, изменить размер или повернуть таким образом, чтобы его итоговое расположение экрана было полностью за пределами координат контейнера и было недоступно для клавиатуры или мыши. Например, если окно верхнего уровня полностью перемещается за пределы экрана или дочерний объект перемещается за границы окна просмотра контейнера. В таких случаях объект помещается как можно ближе к запрошенным координатам экрана, а верхние или левые координаты переопределяются в границах контейнера.