Обнаружение CodedUI для изображения внутри TreeListView - PullRequest
0 голосов
/ 12 марта 2020

Я использовал Dev Express control TreeListView на моей странице XAML для отображения списка элементов на экране. С каждым из этих элементов может быть связано изображение, которое отображается простым тегом <Image>. Когда я пытаюсь автоматизировать эту страницу с помощью CodedUI, я вообще не могу идентифицировать изображение. Ниже приведен код, используемый в XAML для визуализации элементов управления.

Шаблон данных

                <StackPanel Orientation="Horizontal" >
                    <!--Fill="Red"-->
                    <Image Style="{DynamicResource ImgWarningProcessingMethod}"  Visibility="{Binding RowData.Row.HasError, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"
                             Width="8" Height="8" AutomationProperties.AutomationId="ErrorIndicator-Image"
                             HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="0,0,0,6"  />
                    <TextBlock  Text="{Binding RowData.Row.ItemName}"
                                HorizontalAlignment="Left" VerticalAlignment="Top" Margin="4,0,0,0"
                                 AutomationProperties.AutomationId="TreeTextBlocke"
                           />
                </StackPanel>
            </DataTemplate>

Элемент управления TreeView с использованием этого шаблона

<dxg:TreeListView x:Name="ProcessingMethodNavigationTreeView"
                                      VerticalScrollbarVisibility="Auto"
                                      RowIndent="10"
                                      ShowFixedTotalSummary="False" 
                                      ShowHorizontalLines="False"
                                      ShowColumnHeaders="False"
                                      ShowVerticalLines="False"
                                      ShowIndicator="False"
                                      AutoExpandAllNodes="True"
                                      ShowSearchPanelMode="Never"
                                      PrintNodeImages="True" 
                                      AllowEditing="False"
                                      PrintSelectedRowsOnly="True"
                                      NavigationStyle="Row"
                                      AutoWidth="True"
                                      MinWidth="120"
                                      CellTemplate="{StaticResource DefaultDataTemplate}"
                                  RowStyle="{DynamicResource ChannelRowControlStyleTemp}"
                                  MaxWidth="160">
                </dxg:TreeListView>

Код CodedUI для получения этого изображения

            custom.SearchProperties.Add("ClassName", "Uia.ProcessingMethodMainWindow");
            WpfTree tree = new WpfTree(custom);
            tree.SearchProperties.Add("AutomationId", "ProcessingMethod-Navigation-DevExpressTree");
            tree.DrawHighlight();
            WpfPane pane = new WpfPane(tree);
            pane.SearchProperties.Add("AutomationId", "dataPresenter");
            pane.DrawHighlight();
            WpfControl treeItem = new WpfControl(pane);
            treeItem.SearchProperties.Add("Instance", "2");
            treeItem.SearchProperties.Add("Name", "PerkinElmer.Analysis.Ui.ProcessingMethodUserControl.ViewModel.ProcessingMethodTreeViewItem");
            treeItem.DrawHighlight();
            int countChildren = treeItem.GetChildren().Count;

countChildren возвращает 0 значений

Является ли этот подход правильным? Любой другой способ найти контроль изображения? Пожалуйста, предложите.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...