【问题标题】:WinApplicationDriver get rows from datagridWinApplicationDriver 从数据网格中获取行
【发布时间】:2018-03-03 19:21:15
【问题描述】:

我有什么:

namespace DataGrid
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            DataContext = new ViewModelDataGrid();
        }
    }

    public class ViewModelDataGrid
    {
        public ObservableCollection<string> Items { get; set; }

        public ViewModelDataGrid()
        {
            Items = new ObservableCollection<string>();

            for (int i = 0; i < 1000; i++)
            {
                Items.Add(i.ToString());
            }
        }

    }
}

Xaml

 <Grid>
        <DataGrid ItemsSource="{Binding Items}">
            <DataGrid.Columns>
                <DataGridTextColumn Header="Line No" Binding="{Binding .}" IsReadOnly="True"/>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>

我想做什么:

DesiredCapabilities appDataGridCapabilities = new DesiredCapabilities();
appDataGridCapabilities.SetCapability("app", @"C:\Users\a\Documents\visual studio 2015\Projects\DataGrid\DataGrid\bin\Debug\DataGrid.exe");
appDataGridCapabilities.SetCapability("deviceName", "WPF");
var dataGridSession = new WindowsDriver<WindowsElement>(new Uri(@"http://127.0.0.1:4723"), appDataGridCapabilities);
dataGridSession.Manage().Window.Position = new System.Drawing.Point(0, 0);
var elements = dataGridSession.FindElementByClassName("DataGrid").FindElementsByClassName("DataGridRow");

我正在尝试从数据网格中获取所有行。但是由于绑定系统和虚拟化,目前我只得到那些显示在屏幕上的行。是否有可能以某种方式从 DataGrid 中获取所有未显示的行?

【问题讨论】:

    标签: c# wpf selenium datagrid appium


    【解决方案1】:

    是否有可能以某种方式从DataGrid 获取所有未显示的行?

    仅当您在应用程序中禁用虚拟化:

    <DataGrid VirtualizingPanel.IsVirtualizing="False" ... />
    

    内存中没有用于已虚拟化的行的DataGridRow 行容器,并且您无法获得对不存在的对象的引用。

    【讨论】:

    • 设置EnableRowVirtualization="False"也很重要。
    猜你喜欢
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-27
    • 2014-12-24
    • 1970-01-01
    相关资源
    最近更新 更多