Best WinAppDriver code snippet using AppUIBasics.Data.ControlInfoDataItem.ControlInfoDataItem
SearchResultsPage.xaml.cs
Source:SearchResultsPage.xaml.cs  
...20        private NavigationHelper navigationHelper;21        private string _queryText;22        private List<Filter> _filters;23        private bool _showFilters;24        private List<ControlInfoDataItem> _results;25        public string QueryText26        {27            get { return _queryText; }28            set { this.SetProperty(ref _queryText, value); }29        }30        public List<Filter> Filters31        {32            get { return _filters; }33            set { this.SetProperty(ref _filters, value); }34        }35        public bool ShowFilters36        {37            get { return _showFilters; }38            set { this.SetProperty(ref _showFilters, value); }39        }40        public List<ControlInfoDataItem> Results41        {42            get { return _results; }43            set { this.SetProperty(ref _results, value); }44        }45        /// <summary>46        /// NavigationHelper is used on each page to aid in navigation and 47        /// process lifetime management48        /// </summary>49        public NavigationHelper NavigationHelper50        {51            get { return this.navigationHelper; }52        }53        public SearchResultsPage()54        {55            this.InitializeComponent();56            this.navigationHelper = new NavigationHelper(this);57            this.navigationHelper.LoadState += navigationHelper_LoadState;58        }59        public Dictionary<String, IEnumerable<AppUIBasics.Data.ControlInfoDataItem>> FullResults60        {61            get;62            set;63        }64        /// <summary>65        /// Populates the page with content passed during navigation.  Any saved state is also66        /// provided when recreating a page from a prior session.67        /// </summary>68        /// <param name="navigationParameter">The parameter value passed to69        /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested.70        /// </param>71        /// <param name="pageState">A dictionary of state preserved by this page during an earlier72        /// session.  This will be null the first time a page is visited.</param>73        private async void navigationHelper_LoadState(object sender, LoadStateEventArgs e)74        {75            var queryText = e.NavigationParameter as String;76            if (!string.IsNullOrEmpty(queryText))77            {78                // Application-specific searching logic.  The search process is responsible for79                // creating a list of user-selectable result categories:80                var filterList = new List<Filter>();81                var totalMatchingItems = 0;82                FullResults = new Dictionary<string, IEnumerable<Data.ControlInfoDataItem>>();83                var groups = await AppUIBasics.Data.ControlInfoDataSource.GetGroupsAsync();84                foreach (var group in groups)85                {86                    var matchingItems = group.Items.Where(87                        item => item.Title.IndexOf(queryText, StringComparison.CurrentCultureIgnoreCase) >= 088                            || item.Subtitle.IndexOf(queryText, StringComparison.CurrentCultureIgnoreCase) >= 0);89                    int numberOfMatchingItems = matchingItems.Count();90                    if (numberOfMatchingItems > 0)91                    {92                        FullResults.Add(group.Title, matchingItems);93                        filterList.Add(new Filter(group.Title, numberOfMatchingItems));94                    }95                    totalMatchingItems += numberOfMatchingItems;96                }97                filterList.Insert(0, new Filter("All", totalMatchingItems, true));98                // Communicate results through the view model99                QueryText = '\u201c' + queryText + '\u201d';100                Filters = filterList;101                ShowFilters = filterList.Count > 1;102                if (FullResults.Count() < 1)103                {104                    // Display informational text when there are no search results.105                    VisualStateManager.GoToState(this, "NoResultsFound", true);106                }107            }108            else109            {110                var isFocused = query.Focus(FocusState.Programmatic);111            }112        }113        /// <summary>114        /// Invoked when a filter is selected using a RadioButton when not snapped.115        /// </summary>116        /// <param name="sender">The selected RadioButton instance.</param>117        /// <param name="e">Event data describing how the RadioButton was selected.</param>118        void Filter_Checked(object sender, RoutedEventArgs e)119        {120            var filter = (sender as FrameworkElement).DataContext;121            // Determine what filter was selected122            var selectedFilter = filter as Filter;123            if (selectedFilter != null)124            {125                // Mirror the results into the corresponding Filter object to allow the126                // RadioButton representation used when not snapped to reflect the change127                selectedFilter.Active = true;128                129                if (selectedFilter.Name.Equals("All"))130                {131                    var tempResults = new List<AppUIBasics.Data.ControlInfoDataItem>();132                    foreach (var group in FullResults)133                    {134                        tempResults.AddRange(group.Value);135                    }136                    Results = tempResults;137                }138                else if (FullResults.ContainsKey(selectedFilter.Name))139                {140                    Results =141                      new List<AppUIBasics.Data.ControlInfoDataItem>(FullResults[selectedFilter.Name]);142                }143                // Ensure results are found144                if (Results.Count > 0)145                {146                    VisualStateManager.GoToState(this, "ResultsFound", true);147                    return;148                }149            }150            // Display informational text when there are no search results.151            VisualStateManager.GoToState(this, "NoResultsFound", true);152        }153        public async static void SearchBox_SuggestionsRequested(SearchBox sender, SearchBoxSuggestionsRequestedEventArgs args)154        {155            // This object lets us edit the SearchSuggestionCollection asynchronously. 156            var deferral = args.Request.GetDeferral();157            try158            {159                var suggestions = args.Request.SearchSuggestionCollection;160                var groups = await AppUIBasics.Data.ControlInfoDataSource.GetGroupsAsync();161                foreach (var group in groups)162                {163                    var matchingItems = group.Items.Where(164                        item => item.Title.StartsWith(args.QueryText, StringComparison.CurrentCultureIgnoreCase));165                    foreach (var item in matchingItems)166                    {167                        suggestions.AppendQuerySuggestion(item.Title);168                    }169                }170                foreach (string alternative in args.LinguisticDetails.QueryTextAlternatives)171                {172                    if (alternative.StartsWith(173                        args.QueryText, StringComparison.CurrentCultureIgnoreCase))174                    {175                        suggestions.AppendQuerySuggestion(alternative);176                    }177                }178            }179            finally180            {181                deferral.Complete();182            }183        }184        private async void query_TextChanged(object sender, TextChangedEventArgs e)185        {186            var filterList = new List<Filter>();187            var totalMatchingItems = 0;188            var groups = await AppUIBasics.Data.ControlInfoDataSource.GetGroupsAsync();189            FullResults = new Dictionary<string, IEnumerable<Data.ControlInfoDataItem>>();190            foreach (var group in groups)191            {192                var matchingItems = group.Items.Where(193                    item => item.Title.IndexOf(query.Text, StringComparison.CurrentCultureIgnoreCase) >= 0194                        || item.Subtitle.IndexOf(query.Text, StringComparison.CurrentCultureIgnoreCase) >= 0);195                int numberOfMatchingItems = matchingItems.Count();196                if (numberOfMatchingItems > 0)197                {198                    FullResults.Add(group.Title, matchingItems);199                    filterList.Add(new Filter(group.Title, numberOfMatchingItems));200                }201                totalMatchingItems += numberOfMatchingItems;202            }203            filterList.Insert(0, new Filter("All", totalMatchingItems, true));204            // Communicate results through the view model205            QueryText = '\u201c' + query.Text + '\u201d';206            Filters = filterList;207            ShowFilters = filterList.Count > 1;208            if (FullResults.Count() < 1)209            {210                // Display informational text when there are no search results.211                VisualStateManager.GoToState(this, "NoResultsFound", true);212            }213        }214        private void resultsGridView_ItemClick(object sender, ItemClickEventArgs e)215        {216            this.Frame.Navigate(217                typeof(ItemPage),218                ((AppUIBasics.Data.ControlInfoDataItem)e.ClickedItem).UniqueId);219        }220        private void SearchBox_QuerySubmitted(SearchBox sender, SearchBoxQuerySubmittedEventArgs args)221        {222            this.Frame.Navigate(typeof(SearchResultsPage), args.QueryText);223        }224        #region NavigationHelper registration225        /// The methods provided in this section are simply used to allow226        /// NavigationHelper to respond to the page's navigation methods.227        /// 228        /// Page specific logic should be placed in event handlers for the  229        /// <see cref="GridCS.Common.NavigationHelper.LoadState"/>230        /// and <see cref="GridCS.Common.NavigationHelper.SaveState"/>.231        /// The navigation parameter is available in the LoadState method 232        /// in addition to page state preserved during an earlier session....AutoSuggestBoxPage.xaml.cs
Source:AutoSuggestBoxPage.xaml.cs  
...74        /// <param name="args">The args contain the QueryText, which is the text in the TextBox, 75        /// and also ChosenSuggestion, which is only non-null when a user selects an item in the list.</param>76        private async void Control2_QuerySubmitted(AutoSuggestBox sender, AutoSuggestBoxQuerySubmittedEventArgs args)77        {78            if (args.ChosenSuggestion != null && args.ChosenSuggestion is ControlInfoDataItem)79            {80                //User selected an item, take an action81                SelectControl(args.ChosenSuggestion as ControlInfoDataItem);82            }83            else if (!string.IsNullOrEmpty(args.QueryText))84            {85                //Do a fuzzy search based on the text86                var suggestions = await SearchControls(sender.Text);87                if(suggestions.Count > 0)88                {89                    SelectControl(suggestions.FirstOrDefault());90                }91            }92        }93        /// <summary>94        /// This event gets fired as the user keys through the list, or taps on a suggestion.95        /// This allows you to change the text in the TextBox to reflect the item in the list.96        /// Alternatively you can use TextMemberPath.97        /// </summary>98        /// <param name="sender">The AutoSuggestBox that fired the event.</param>99        /// <param name="args">The args contain SelectedItem, which contains the data item of the item that is currently highlighted.</param>100        private void Control2_SuggestionChosen(AutoSuggestBox sender, AutoSuggestBoxSuggestionChosenEventArgs args)101        {102            var control = args.SelectedItem as ControlInfoDataItem;103            //Don't autocomplete the TextBox when we are showing "no results"104            if(control != null)105            {106                sender.Text = control.Title;107            }108        }109        /// <summary>110        /// This 111        /// </summary>112        /// <param name="contact"></param>113        private void SelectControl(ControlInfoDataItem control)114        {115            if (control != null)116            {117                ControlDetails.Visibility = Visibility.Visible;118                BitmapImage image = new BitmapImage(new Uri(control.ImagePath));119                ControlImage.Source = image;120                ControlTitle.Text = control.Title;121                ControlSubtitle.Text = control.Subtitle;122            }123        }124        private async Task<List<ControlInfoDataItem>> SearchControls(string query)125        {126            var groups = await AppUIBasics.Data.ControlInfoDataSource.GetGroupsAsync();127            var suggestions = new List<ControlInfoDataItem>();128            foreach (var group in groups)129            {130                var matchingItems = group.Items.Where(131                    item => item.Title.IndexOf(query, StringComparison.CurrentCultureIgnoreCase) >= 0);132                foreach (var item in matchingItems)133                {134                    suggestions.Add(item);135                }136            }137            return suggestions.OrderByDescending(i => i.Title.StartsWith(query, StringComparison.CurrentCultureIgnoreCase)).ThenBy(i => i.Title).ToList();138        }139    }140}...ControlInfoDataItem
Using AI Code Generation
1using AppUIBasics.Data;2using AppUIBasics.ViewModels;3using System;4using System.Collections.Generic;5using System.Collections.ObjectModel;6using System.IO;7using System.Linq;8using System.Runtime.InteropServices.WindowsRuntime;9using Windows.Foundation;10using Windows.Foundation.Collections;11using Windows.UI.Xaml;12using Windows.UI.Xaml.Controls;13using Windows.UI.Xaml.Controls.Primitives;14using Windows.UI.Xaml.Data;15using Windows.UI.Xaml.Input;16using Windows.UI.Xaml.Media;17using Windows.UI.Xaml.Navigation;18{ControlInfoDataItem
Using AI Code Generation
1using AppUIBasics.Data;2using AppUIBasics.Common;3using System;4using System.Collections.Generic;5using System.Linq;6using System.Text;7using System.Threading.Tasks;8using Windows.UI.Xaml.Controls;9using Windows.UI.Xaml.Navigation;10{11    {12        public ItemPage()13        {14            this.InitializeComponent();15        }16        protected override void OnNavigatedTo(NavigationEventArgs e)17        {18            var item = e.Parameter as ControlInfoDataItem;19            if (item != null)20            {21                itemTitle.Text = item.Title;22                itemSubtitle.Text = item.Subtitle;23                itemDescription.Text = item.Description;24                itemImage.Source = item.Image;25            }26        }27    }28}29using AppUIBasics.Common;30using System;31using System.Collections.Generic;32using System.Linq;33using System.Text;34using System.Threading.Tasks;35using Windows.UI.Xaml.Media.Imaging;36{37    {38        public ControlInfoDataItem(String uniqueId, String title, String subtitle, String imagePath, String description, String content)39        {40            this.UniqueId = uniqueId;41            this.Title = title;42            this.Subtitle = subtitle;43            this.ImagePath = imagePath;44            this.Description = description;45            this.Content = content;46        }47        public string UniqueId { get; private set; }48        public string Title { get; private set; }49        public string Subtitle { get; private set; }50        public string ImagePath { get; private set; }51        public string Description { get; private set; }52        public string Content { get; private set; }53        private BitmapImage _image = null;54        {55            get { return this._image; }56        }57        public async void SetImageAsync()58        {59            this._image = await ImageLoader.Instance.LoadImageAsync(this.ImagePath);60        }61    }62}63using AppUIBasics.Common;ControlInfoDataItem
Using AI Code Generation
1public static ControlInfoDataItem GetControlInfoDataItem(string controlName)2{3    if (controlName == "AutoSuggestBox")4    {5        return new ControlInfoDataItem("AutoSuggestBox",6            new List<ControlInfoDataItem>()7            {8            },9            typeof(AutoSuggestBoxPage));10    }11    else if (controlName == "CalendarView")12    {13        return new ControlInfoDataItem("CalendarView",ControlInfoDataItem
Using AI Code Generation
1using System;2using Windows.UI.Xaml;3using Windows.UI.Xaml.Controls;4using Windows.UI.Xaml.Navigation;5using AppUIBasics.Data;6using AppUIBasics.ControlPages;7{8    {9        public ItemPage()10        {11            this.InitializeComponent();12        }13        protected override void OnNavigatedTo(NavigationEventArgs e)14        {15            if (e.Parameter is string)16            {17                var name = e.Parameter as string;18                var item = ControlInfoDataSource.Instance.GetItem(name);19                if (item != null)20                {21                    ControlFrame.Navigate(item.PageType);22                }23            }24        }25    }26}27    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">28using System;29using System.Collections.Generic;30using System.IO;31using System.Linq;32using System.Runtime.InteropServices.WindowsRuntime;33using Windows.Foundation;34using Windows.Foundation.Collections;35using Windows.UI.Xaml;36using Windows.UI.Xaml.Controls;37using Windows.UI.Xaml.Controls.Primitives;38using Windows.UI.Xaml.Data;39using Windows.UI.Xaml.Input;40using Windows.UI.Xaml.Media;41using Windows.UI.Xaml.Navigation;42{43    {44        public ItemPage()45        {46            this.InitializeComponent();47        }48        protected override void OnNavigatedTo(NavigationEventArgs e)49        {50            if (e.Parameter is string)51            {52                var name = e.Parameter as string;53                var item = ControlInfoDataSource.Instance.GetItem(name);54                if (item != null)55                {56                    ControlFrame.Navigate(item.PageType);57                }58            }59        }Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
