EzList
EzList is created using an existing element who has a ControlType of List. This class opens up list specific functionality
💡 Note
If the underlying element being used to construct EzList does not have a ControlType of List, an exception will be thrown on construction
Syntax
        public class EzList : EzElement
    Constructors
| Name | Input | Description | 
|---|---|---|
| EzList(EzElement element) | EzElement | Creates a new instance of EzList based on an existing EzElement | 
| EzList(EzRoot root) | EzRoot | Creates a new instance of EzList based on an existing EzRoot | 
| EzList(AutomationElement element) | AutomationElement | Creates a new instance of EzList based on an existing AutomationElement | 
Properties
| Name | Type | Description | 
|---|---|---|
| ScrollPattern | ScrollPattern | Houses the underlying windows ScrollPattern. Will return null if ExposeBackingWindowsPatterns is not set to true | 
| SelectionPattern | SelectionPattern | Houses the underlying windows SelectionPattern. Will return null if ExposeBackingWindowsPatterns is not set to true | 
| VerticalScrollPct | double | Houses the amount the current list is scrolled in the vertical direction as a percent. 0% is all the way scrolled up and 100% is all the way scrolled down | 
| HorizontalScrollPct | double | Houses the amount the current list is scrolled in the horizontal direction as a percent. 0% is all the way scrolled to the left and 100% is all the way scrolled to the right | 
| VerticalViewSize | double | I have no fucking clue | 
| HorizontalViewSize | double | I have no fucking clue | 
| CanSelectMultiple | bool | Houses whether or not the list can select multiple items at once | 
| SelectedItems | IEnumerable<EzElement> | Gets all currently selected items in the list | 
Methods
| Name | Return Type | Description | 
|---|---|---|
| ScrollVertical(ScrollAmount amount) | void | Scrolls the list vertically based on the ScrollAmount passed in | 
| ScrollHorizontal(ScrollAmount amount) | void | Scrolls the list horizontally based on the ScrollAmount passed in | 
| ScrollHorizontalAndVertical(ScrollAmount horizontalAmount, ScrollAmount verticalAmount) | void | Scrolls the list horizontally and vertically based on both the horizontal/vertical ScrollAmount values passed in | 
| SetHorizontalScrollPct(double percent) | void | Sets the horizontal scroll percentage based on the percentage value passed in | 
| SetVerticalScrollPct(double percent) | void | Sets the vertical scroll percentage based on the percentage value passed in | 
| SetVerticalAndHorizontalScrollPct(double horizontalPercent, double verticalPercent) | void | Sets the vertical and horizontal scroll percentages based on the percentage values apssed in | 
Samples and Usage
The EzList element is usually constructed with an instance of EzElement and effectively sits on top of EzElement. It provides some list specific functionality.
Sample:
        //Simple method to launch Windows' built in calculator application
        const string calculatorPath = C:\\Windows\\System32\\calc.exe";
        //Get an instance of EzProcess in order to create EzRoot.  Wrap it in a using statement to ensure that
        //.Dispose() is called
        using (EzProcess process = new EzProcess(calculatorPath, "Calculator"))
        {
            process.StartProcess();
            //Get the root element of the application
            EzRoot root = new EzRoot(process);
            //Use the .FindChildByAutomationId to query all children of the root for the first element whose
            //AutomationId property is equal to "TestGridName"
            EzElement element = root.RootElement.FindChildByAutomationId("TestGridName");
            //Create a new EzGrid instance with our EzElement instance.  Note that if the control type of our
            //EzElement intance is not List, an exception will be thrown
            EzList list = new EzList(element);
            //Set the scroll percentage to 50%
            list.SetHorizontalScrollPct(50);
        }