Beispiel #1
0
        static public object GetElementIndex(UIElement u)
        {
            switch (u.GetType().ToString())
            {
            case "System.Windows.Controls.ListBox":
                ListBox lb = u as ListBox;
                if (lb != null)
                {
                    return(lb.SelectedIndex);
                }
                else
                {
                    return(-1);
                }

            case "System.Windows.Controls.ScrollViewer":
                ScrollViewer sv       = u as ScrollViewer;
                ItemsControl ic       = sv.Content as ItemsControl;
                List <int>   checkeds = new List <int>();
                var          cbs      = from cbx in ic.Items.OfType <CheckBox>() select cbx;
                int          i        = 0;
                foreach (CheckBox chex in cbs)
                {
                    if (chex.IsChecked == true)
                    {
                        checkeds.Add(i);
                    }
                    i++;
                }

                return(checkeds);

            case "HumanUI.ClickableShapeGrid":
                ClickableShapeGrid csg          = u as ClickableShapeGrid;
                List <int>         selectedInds = new List <int>();
                int j = 0;
                foreach (bool b in csg.SelectedStates)
                {
                    if (b)
                    {
                        selectedInds.Add(j);
                    }
                    j++;
                }

                return(selectedInds);

            case "System.Windows.Controls.ComboBox":
                ComboBox cb = u as ComboBox;
                if (cb != null)
                {
                    return(cb.SelectedIndex);
                }
                else
                {
                    return(-1);
                }

            case "System.Windows.Controls.DataGrid":
                DataGrid datagrid    = u as DataGrid;
                int      selectedRow = -1;
                try
                {
                    DataRowView drv       = datagrid.SelectedItem as DataRowView;
                    string      indexName = (string)drv.Row.ItemArray[0];
                    selectedRow = Int32.Parse(indexName);
                }
                catch { }
                return(selectedRow);

            case "System.Windows.Controls.TabControl":
                TabControl tc = u as TabControl;
                return(tc.SelectedIndex);

            default:
                return(-1);
            }
        }
        void RemoveEvents(UIElement u)
        {
            switch (u.GetType().ToString())
            {
            case "System.Windows.Controls.Slider":
                Slider s = u as Slider;
                s.ValueChanged -= ExpireThis;
                return;

            case "System.Windows.Controls.Button":
                Button b = u as Button;
                b.PreviewMouseDown -= ExpireThis;
                b.PreviewMouseUp   -= ExpireThis;
                return;

            case "System.Windows.Controls.DataGrid":
                DataGrid datagrid = u as DataGrid;
                datagrid.SelectedCellsChanged -= ExpireThis;
                return;

            case "HumanUI.TrueOnlyButton":
                TrueOnlyButton tob = u as TrueOnlyButton;
                tob.PreviewMouseDown -= ExpireThis;
                return;

            case "HumanUI.HUI_RhPickButton":
                HUI_RhPickButton rpb = u as HUI_RhPickButton;
                rpb.PickCompleted -= ExpireThis;
                return;

            case "HumanUI.MDSliderElement":
                MDSliderElement mds = u as MDSliderElement;
                mds.PropertyChanged -= ExpireThis;
                return;

            case "HumanUI.GraphMapperElement":
                GraphMapperElement gme = u as GraphMapperElement;
                gme.PropertyChanged -= ExpireThis;
                return;

            case "HumanUI.HUI_GradientEditor":
                HUI_GradientEditor hge = u as HUI_GradientEditor;
                hge.PropertyChanged -= ExpireThis;
                return;

            case "HumanUI.FilePicker":
                FilePicker fp = u as FilePicker;
                fp.PropertyChanged -= ExpireThis;
                return;

            case "HumanUI.ClickableShapeGrid":
                ClickableShapeGrid csg = u as ClickableShapeGrid;
                switch (csg.clickMode)
                {
                case ClickableShapeGrid.ClickMode.ButtonMode:
                    csg.MouseUp   -= ExpireThis;
                    csg.MouseDown -= ExpireThis;
                    return;

                case ClickableShapeGrid.ClickMode.PickerMode:
                case ClickableShapeGrid.ClickMode.ToggleMode:
                    csg.MouseUp -= ExpireThis;
                    return;

                case ClickableShapeGrid.ClickMode.None:
                default:
                    return;
                }

            case "System.Windows.Controls.Label":
                Label l = u as Label;
                return;

            case "System.Windows.Controls.ListBox":
                ListBox lb = u as ListBox;
                lb.SelectionChanged -= ExpireThis;
                return;

            case "System.Windows.Controls.ScrollViewer":
                ScrollViewer sv = u as ScrollViewer;
                ItemsControl ic = sv.Content as ItemsControl;
                ((INotifyCollectionChanged)ic.Items).CollectionChanged -= ExpireThis;
                List <bool> checkeds = new List <bool>();
                var         cbs      = from cbx in ic.Items.OfType <CheckBox>() select cbx;
                foreach (CheckBox chex in cbs)
                {
                    chex.Checked   -= ExpireThis;
                    chex.Unchecked -= ExpireThis;
                }
                return;

            case "System.Windows.Controls.ComboBox":
                ComboBox cb = u as ComboBox;
                cb.SelectionChanged -= ExpireThis;
                return;

            case "System.Windows.Controls.TextBox":
                TextBox       tb   = u as TextBox;
                Panel         p    = tb.Parent as Panel;
                List <Button> btns = p.Children.OfType <Button>().ToList <Button>();

                foreach (Button btn0 in btns)
                {
                    btn0.Click -= ExpireThis;
                }
                tb.TextChanged -= ExpireThis;
                return;

            case "Xceed.Wpf.Toolkit.ColorPicker":
                ColorPicker cp = u as ColorPicker;
                cp.SelectedColorChanged -= ExpireThis;
                return;

            case "System.Windows.Controls.CheckBox":
                CheckBox chb = u as CheckBox;
                chb.Checked   -= ExpireThis;
                chb.Unchecked -= ExpireThis;
                return;

            case "System.Windows.Controls.RadioButton":
                RadioButton rb = u as RadioButton;
                rb.Checked   -= ExpireThis;
                rb.Unchecked -= ExpireThis;
                return;

            case "System.Windows.Controls.Image":
                return;

            case "System.Windows.Controls.Expander":
                Expander exp = u as Expander;
                exp.Expanded  -= ExpireThis;
                exp.Collapsed -= ExpireThis;
                return;

            case "System.Windows.Controls.TabControl":
                TabControl tc = u as TabControl;
                tc.SelectionChanged -= ExpireThis;
                return;

            case "MahApps.Metro.Controls.ToggleSwitch":
                ToggleSwitch ts = u as ToggleSwitch;
                ts.IsCheckedChanged -= ExpireThis;
                return;

            case "MahApps.Metro.Controls.RangeSlider":
                RangeSlider rs = u as RangeSlider;
                rs.RangeSelectionChanged -= ExpireThis;
                return;

            case "De.TorstenMandelkow.MetroChart.ChartBase":
            case "De.TorstenMandelkow.MetroChart.PieChart":
            case "De.TorstenMandelkow.MetroChart.ClusteredBarChart":
            case "De.TorstenMandelkow.MetroChart.ClusteredColumnChart":
            case "De.TorstenMandelkow.MetroChart.DoughnutChart":
            case "De.TorstenMandelkow.MetroChart.RadialGaugeChart":
            case "De.TorstenMandelkow.MetroChart.StackedBarChart":
            case "De.TorstenMandelkow.MetroChart.StackedColumnChart":
                ChartBase chart = u as ChartBase;
                chart.MouseUp -= ExpireThis;
                return;

            default:
                return;
            }
        }
Beispiel #3
0
        static public object GetElementValue(UIElement u)
        {
            switch (u.GetType().ToString())
            {
            case "System.Windows.Controls.Slider":
                Slider s = u as Slider;
                return(s.Value);

            case "System.Windows.Controls.Button":
                Button b = u as Button;
                return((System.Windows.Input.Mouse.LeftButton == System.Windows.Input.MouseButtonState.Pressed) && b.IsMouseOver);

            case "HumanUI.TrueOnlyButton":
                TrueOnlyButton tob = u as TrueOnlyButton;
                return((System.Windows.Input.Mouse.LeftButton == System.Windows.Input.MouseButtonState.Pressed) && tob.IsMouseOver);

            case "HumanUI.HUI_RhPickButton":
                HUI_RhPickButton rpb = u as HUI_RhPickButton;
                return(rpb.objIDs);

            case "System.Windows.Controls.Label":
                Label l = u as Label;
                return(l.Content);

            case "System.Windows.Controls.ListBox":
                ListBox   lb  = u as ListBox;
                TextBlock lab = lb.SelectedItem as TextBlock;
                if (lab != null)
                {
                    return(lab.Text);
                }
                else
                {
                    return(null);
                }

            case "System.Windows.Controls.ScrollViewer":
                ScrollViewer sv       = u as ScrollViewer;
                ItemsControl ic       = sv.Content as ItemsControl;
                List <bool>  checkeds = new List <bool>();
                var          cbs      = from cbx in ic.Items.OfType <CheckBox>() select cbx;
                foreach (CheckBox chex in cbs)
                {
                    checkeds.Add(chex.IsChecked == true);
                }


                return(checkeds);

            case "System.Windows.Controls.TextBox":
                TextBox tb = u as TextBox;
                return(tb.Text);

            case "System.Windows.Controls.ComboBox":
                ComboBox  cb  = u as ComboBox;
                TextBlock cbi = cb.SelectedItem as TextBlock;
                if (cbi != null)
                {
                    return(cbi.Text);
                }
                else
                {
                    return(null);
                }

            case "Xceed.Wpf.Toolkit.ColorPicker":
                ColorPicker colP = u as ColorPicker;

                //return cbi.Content;
                return(HUI_Util.ToSysColor(colP.SelectedColor));

            case "System.Windows.Controls.ListView":
                ListView      v           = u as ListView;
                var           cbxs        = from cbx in v.Items.OfType <CheckBox>() select cbx;
                List <string> checkedVals = new List <string>();
                foreach (CheckBox chex in cbxs)
                {
                    if (chex.IsChecked == true)
                    {
                        checkedVals.Add(chex.Content.ToString());
                    }
                }

                return(String.Join(",", checkedVals));

            case "System.Windows.Controls.CheckBox":
                CheckBox chb = u as CheckBox;
                return(chb.IsChecked);

            case "System.Windows.Controls.RadioButton":
                RadioButton rb = u as RadioButton;
                return(rb.IsChecked);

            case "System.Windows.Controls.Image":
                Image img = u as Image;

                return(img.Source.ToString());

            case "System.Windows.Controls.Expander":
                Expander exp = u as Expander;
                return(exp.IsExpanded);

            case "System.Windows.Controls.TabControl":
                TabControl tc = u as TabControl;
                TabItem    ti = tc.SelectedItem as TabItem;
                if (ti == null)
                {
                    ti = tc.Items[0] as TabItem;
                }
                return(ti.Header.ToString());

            case "MahApps.Metro.Controls.ToggleSwitch":
                ToggleSwitch ts = u as ToggleSwitch;

                return(ts.IsChecked);

            case "MahApps.Metro.Controls.RangeSlider":
                RangeSlider rs = u as RangeSlider;

                return(new Interval(rs.LowerValue, rs.UpperValue));

            case "De.TorstenMandelkow.MetroChart.ChartBase":
            case "De.TorstenMandelkow.MetroChart.PieChart":
            case "De.TorstenMandelkow.MetroChart.ClusteredBarChart":
            case "De.TorstenMandelkow.MetroChart.ClusteredColumnChart":
            case "De.TorstenMandelkow.MetroChart.DoughnutChart":
            case "De.TorstenMandelkow.MetroChart.RadialGaugeChart":
            case "De.TorstenMandelkow.MetroChart.StackedBarChart":
            case "De.TorstenMandelkow.MetroChart.StackedColumnChart":
                ChartBase chart        = u as ChartBase;
                ChartItem selectedItem = chart.SelectedItem as ChartItem;

                if (selectedItem != null)
                {
                    string response = "";
                    if (!String.IsNullOrEmpty(selectedItem.ClusterCategory))
                    {
                        response += selectedItem.ClusterCategory + ": ";
                    }
                    response += selectedItem.Category;
                    return(response);
                }
                else
                {
                    return(null);
                }

            case "System.Windows.Controls.DataGrid":
                DataGrid datagrid     = u as DataGrid;
                var      SelectedItem = datagrid.SelectedItem;
                //System.Data.DataView dv = datagrid.ItemsSource as System.Data.DataView;
                List <string> result = new List <string>();
                try
                {
                    System.Data.DataRowView drv = SelectedItem as System.Data.DataRowView;
                    result = drv.Row.ItemArray.Cast <string>().ToList();
                    result.RemoveAt(0);
                }
                catch
                {
                }

                return(result);

            case "HumanUI.MDSliderElement":
                MDSliderElement mds = u as MDSliderElement;

                return(mds.SliderPoint);

            case "HumanUI.GraphMapperElement":
                GraphMapperElement gme = u as GraphMapperElement;
                return(gme.GetCurve().ToNurbsCurve());

            case "HumanUI.HUI_GradientEditor":
                HUI_GradientEditor hge = u as HUI_GradientEditor;
                return(hge.Gradient.ToString());

            case "HumanUI.FilePicker":
                FilePicker fp = u as FilePicker;
                return(fp.Path);

            case "HumanUI.ClickableShapeGrid":
                ClickableShapeGrid csg = u as ClickableShapeGrid;
                return(csg.SelectedStates);

            default:
                return(null);
            }
        }