ArcGISRuntime.Samples.Desktop.MainWindow.categories_SelectedItemChanged C# (CSharp) Method

categories_SelectedItemChanged() private method

private categories_SelectedItemChanged ( object sender, RoutedPropertyChangedEventArgs e ) : void
sender object
e RoutedPropertyChangedEventArgs
return void
        private void categories_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
        {
            var sample = ((e.NewValue as TreeViewItem).DataContext as SampleModel);
            if (sample == null)
            {
                var category = ((e.NewValue  as TreeViewItem).DataContext as CategoryModel);
                var subcategories = category.SubCategories;
                var samples = new List<SampleModel>();
                foreach (var subCategory in subcategories)
                {
                    if (subCategory.Samples.Count > 0)
                        samples.AddRange(subCategory.Samples);
                }
                if (samples.Any())
                {
                    categoriesList.ItemsSource = samples;
                    CategoriesRegion.Visibility = Visibility.Visible;
                }
            }
            else
                SelectSample(sample);
        }