Inheritance: System.Windows.Controls.ListView
コード例 #1
0
        // Static method called when TypeProperty changes.
        static void OnTypePropertyChanged(DependencyObject obj,
                                          DependencyPropertyChangedEventArgs args)
        {
            // Get the ListView object involved.
            DependencyPropertyListView lstvue = obj as DependencyPropertyListView;

            // Get the new value of the Type property.
            Type type = args.NewValue as Type;

            // Get rid of all the items currently stored by the ListView.
            lstvue.ItemsSource = null;

            // Get all the DependencyProperty fields in the Type object.
            if (type != null)
            {
                SortedList <string, DependencyProperty> list =
                    new SortedList <string, DependencyProperty>();
                FieldInfo[] infos = type.GetFields();

                foreach (FieldInfo info in infos)
                {
                    if (info.FieldType == typeof(DependencyProperty))
                    {
                        list.Add(info.Name,
                                 (DependencyProperty)info.GetValue(null));
                    }
                }

                // Set the ItemsSource to the list.
                lstvue.ItemsSource = list.Values;
            }
        }
コード例 #2
0
        public ExploreDependencyProperties()
        {
            Title = "Explore Dependency Properties";

            // Create Grid as content of window.
            Grid grid = new Grid();

            Content = grid;

            // Three column definitions for Grid.
            ColumnDefinition col = new ColumnDefinition();

            col.Width = new GridLength(1, GridUnitType.Star);
            grid.ColumnDefinitions.Add(new ColumnDefinition());

            col       = new ColumnDefinition();
            col.Width = GridLength.Auto;
            grid.ColumnDefinitions.Add(col);

            col       = new ColumnDefinition();
            col.Width = new GridLength(3, GridUnitType.Star);
            grid.ColumnDefinitions.Add(col);

            // ClassHierarchyTreeView goes on left side.
            ClassHierarchyTreeView treevue =
                new ClassHierarchyTreeView(typeof(DependencyObject));

            grid.Children.Add(treevue);
            Grid.SetColumn(treevue, 0);

            // GridSplitter goes in the center cell.
            GridSplitter split = new GridSplitter();

            split.HorizontalAlignment = HorizontalAlignment.Center;
            split.VerticalAlignment   = VerticalAlignment.Stretch;
            split.Width = 6;
            grid.Children.Add(split);
            Grid.SetColumn(split, 1);

            // DependencyPropertyListView goes on right side.
            DependencyPropertyListView lstvue = new DependencyPropertyListView();

            grid.Children.Add(lstvue);
            Grid.SetColumn(lstvue, 2);

            // Set a binding between TreeView and ListView.
            lstvue.SetBinding(DependencyPropertyListView.TypeProperty,
                              "SelectedItem.Type");
            lstvue.DataContext = treevue;
        }
コード例 #3
0
        public ExploreDependencyProperties()
        {
            Title = "Explore Dependency Properties";

            // Create Grid as content of window.
            Grid grid = new Grid();
            Content = grid;

            // Three column definitions for Grid.
            ColumnDefinition col = new ColumnDefinition();
            col.Width = new GridLength(1, GridUnitType.Star);
            grid.ColumnDefinitions.Add(new ColumnDefinition());

            col = new ColumnDefinition();
            col.Width = GridLength.Auto;
            grid.ColumnDefinitions.Add(col);

            col = new ColumnDefinition();
            col.Width = new GridLength(3, GridUnitType.Star);
            grid.ColumnDefinitions.Add(col);

            // ClassHierarchyTreeView goes on left side.
            ClassHierarchyTreeView treevue =
                            new ClassHierarchyTreeView(typeof(DependencyObject));
            grid.Children.Add(treevue);
            Grid.SetColumn(treevue, 0);

            // GridSplitter goes in the center cell.
            GridSplitter split = new GridSplitter();
            split.HorizontalAlignment = HorizontalAlignment.Center;
            split.VerticalAlignment = VerticalAlignment.Stretch;
            split.Width = 6;
            grid.Children.Add(split);
            Grid.SetColumn(split, 1);

            // DependencyPropertyListView goes on right side.
            DependencyPropertyListView lstvue = new DependencyPropertyListView();
            grid.Children.Add(lstvue);
            Grid.SetColumn(lstvue, 2);

            // Set a binding between TreeView and ListView.
            lstvue.SetBinding(DependencyPropertyListView.TypeProperty,
                              "SelectedItem.Type");
            lstvue.DataContext = treevue;
        }
コード例 #4
0
        public ExploreDependencyProperties()
        {
            Title = "Explore Dependency Properties";

            Grid grid = new Grid();

            Content = grid;

            ColumnDefinition col = new ColumnDefinition();

            col.Width = new GridLength(1, GridUnitType.Star);
            grid.ColumnDefinitions.Add(col);

            col       = new ColumnDefinition();
            col.Width = GridLength.Auto;
            grid.ColumnDefinitions.Add(col);

            col       = new ColumnDefinition();
            col.Width = new GridLength(3, GridUnitType.Star);
            grid.ColumnDefinitions.Add(col);

            ClassHierarchyTreeView treevue = new ClassHierarchyTreeView(typeof(DependencyObject));

            grid.Children.Add(treevue);
            Grid.SetColumn(treevue, 0);

            GridSplitter split = new GridSplitter();

            split.HorizontalAlignment = HorizontalAlignment.Center;
            split.VerticalAlignment   = VerticalAlignment.Stretch;
            split.Width = 6;
            grid.Children.Add(split);
            Grid.SetColumn(split, 1);

            DependencyPropertyListView lstvue = new DependencyPropertyListView();

            grid.Children.Add(lstvue);
            Grid.SetColumn(lstvue, 2);

            lstvue.SetBinding(DependencyPropertyListView.TypeProperty, "SelectedItem.Type");
            lstvue.DataContext = treevue;
        }
コード例 #5
0
        static void OnTypePropertyChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args)
        {
            DependencyPropertyListView lstvue = obj as DependencyPropertyListView;
            Type type = args.NewValue as Type;

            lstvue.ItemsSource = null;
            if (type != null)
            {
                SortedList <string, DependencyProperty> list = new SortedList <string, DependencyProperty>();
                FieldInfo[] infos = type.GetFields();
                foreach (FieldInfo info in infos)
                {
                    if (info.FieldType == typeof(DependencyProperty))
                    {
                        list.Add(info.Name, (DependencyProperty)info.GetValue(null));
                    }
                }
                lstvue.ItemsSource = list.Values;
            }
        }
コード例 #6
0
        public ExploreDependencyProperties()
        {
            Title = "Explore Dependency Properties";

            Grid grid = new Grid();
            Content = grid;

            ColumnDefinition col = new ColumnDefinition();
            col.Width = new GridLength(1, GridUnitType.Star);
            grid.ColumnDefinitions.Add(col);

            col = new ColumnDefinition();
            col.Width = GridLength.Auto;
            grid.ColumnDefinitions.Add(col);

            col = new ColumnDefinition();
            col.Width = new GridLength(3, GridUnitType.Star);
            grid.ColumnDefinitions.Add(col);

            ClassHierarchyTreeView treevue = new ClassHierarchyTreeView(typeof(DependencyObject));
            grid.Children.Add(treevue);
            Grid.SetColumn(treevue, 0);

            GridSplitter split = new GridSplitter();
            split.HorizontalAlignment = HorizontalAlignment.Center;
            split.VerticalAlignment = VerticalAlignment.Stretch;
            split.Width = 6;
            grid.Children.Add(split);
            Grid.SetColumn(split, 1);

            DependencyPropertyListView lstvue = new DependencyPropertyListView();
            grid.Children.Add(lstvue);
            Grid.SetColumn(lstvue, 2);

            lstvue.SetBinding(DependencyPropertyListView.TypeProperty, "SelectedItem.Type");
            lstvue.DataContext = treevue;
        }