使用 FlaUI Automation 获取 WPF 应用程序中进度条的可见性

Getting the visibility of a progress bar in a WPF application using FlaUI Automation

我正在使用 FlaUI 自动化 WPF 应用程序。我有一个 progressbar,它是 Inderminate。一旦进度条 Collapsed,就会加载 UI。我想在 ProgressBar Visibility 上实现 Retry 机制,但我无法通过 FlaUI

找到正确的 property
private ProgressBar LoadingStatus => _uiAutomation.FindElement("ShowProgress", Automation.FindBy.Id).AsProgressBar();

<ProgressBar AutomationProperties.AutomationId="ShowProgress"
                Grid.Row="1"
                Height="4"
                Margin="0"
                BorderThickness="0"
                IsIndeterminate="True"
                IsTabStop="False"
                ToolTip="Contacting Server, Please Wait..."
                Visibility="{Binding IsServerActive, Converter={StaticResource MwBoolToVisibilityConverterReverse}}" />

我想实现 Retry.While((LoadingStaus_Is_Collapsed)=> )};,但似乎我无权访问 visibility 属性。 我怎样才能完成它?

这里起作用的 属性 是 IsOffScreen。 UIA 框架提供此 属性,因为可见性是 WPF 属性 而不是 UIAIsOffScreen returns 如果元素当前不在屏幕上则为真否则 returns False。 这就是我使用它的方式

public bool LoadingStatusVisibiltity()
        {
            _logger.Info("Retrieving data from the server.Please wait!");
            if (LoadingStatus.IsOffscreen)
            {
                return true;
            }
            else
            {
                return false;
            }
        }