TextPatternRange.Compare(TextPatternRange) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
public:
bool Compare(System::Windows::Automation::Text::TextPatternRange ^ range);
public bool Compare (System.Windows.Automation.Text.TextPatternRange range);
member this.Compare : System.Windows.Automation.Text.TextPatternRange -> bool
Public Function Compare (range As TextPatternRange) As Boolean
参数
- range
- TextPatternRange
要比较的文本范围。
返回
如果两个文本范围的跨度相同,则为 true
;否则为 false
。
例外
如果进行比较的范围不是来自同一个文本提供程序。
示例
private Boolean CompareRanges(AutomationElement target)
{
// Specify the control type we're looking for, in this case 'Document'
PropertyCondition cond = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document);
// target --> The root AutomationElement.
AutomationElement textProvider = target.FindFirst(TreeScope.Descendants, cond);
TextPattern textpatternPattern = textProvider.GetCurrentPattern(TextPattern.Pattern) as TextPattern;
if (textpatternPattern == null)
{
Console.WriteLine("Root element does not contain a descendant that supports TextPattern.");
return false;
}
TextPatternRange[] currentSelection = textpatternPattern.GetSelection();
TextPatternRange[] currentVisibleRanges = textpatternPattern.GetVisibleRanges();
return currentSelection[0].Compare(currentVisibleRanges[0]);
}
Private Function CompareRanges(ByVal target As AutomationElement) As Boolean
' Specify the control type we're looking for, in this case 'Document'
Dim cond As PropertyCondition = New PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document)
' target --> The root AutomationElement.
Dim textProvider As AutomationElement = target.FindFirst(TreeScope.Descendants, cond)
Dim textpatternPattern As TextPattern = CType(textProvider.GetCurrentPattern(TextPattern.Pattern), TextPattern)
If (textpatternPattern Is Nothing) Then
Console.WriteLine("Root element does not contain a descendant that supports TextPattern.")
Return Nothing
End If
Dim currentSelection As TextPatternRange() = textpatternPattern.GetSelection()
Dim currentVisibleRange As TextPatternRange() = textpatternPattern.GetVisibleRanges()
Return currentSelection(0).Compare(currentVisibleRange(0))
End Function