Получение видимости индикатора выполнения в приложении WPF с помощью FlaUI Automation
Я автоматизирую приложение WPF с помощью FlaUI. У меня есть индикатор выполнения Inderminate. Как только индикатор выполнения свернут, пользовательский интерфейс загружается. Я хочу реализоватьRetry
механизм на ProgressBar Visibility
но я не могу найти правильный property
через FlaUI
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
свойство. Как я могу это сделать?
1 ответ
Решение
Здесь работает свойство IsOffScreen
. Инфраструктура UIA предоставляет это свойство, поскольку видимость - этоWPF
собственность, а не UIA
.IsOffScreen
возвращает True, если элемент в данный момент не отображается на экране, иначе возвращает False
. Вот как я это использовал
public bool LoadingStatusVisibiltity()
{
_logger.Info("Retrieving data from the server.Please wait!");
if (LoadingStatus.IsOffscreen)
{
return true;
}
else
{
return false;
}
}