Exemplo n.º 1
0
        // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        protected override FrameworkElement GenerateElement(DataGridCell cell, object dataItem)
        {
            var b   = (Binding as Binding).Path.Path;
            var obj = dataItem as ObjectProperty;

            if (b == "Name")
            {
                var content = new TextBlock();
                content.Text = obj.Name;
                return(content);
            }
            else
            {
                var content = new TextBlock();

                content.Text = EnumItem.ToString(obj.Value);
                return(content);
            }
        }
Exemplo n.º 2
0
        // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        protected override FrameworkElement GenerateEditingElement(DataGridCell cell, object dataItem)
        {
            var b = (Binding as Binding).Path.Path;

            if (b == "Name")
            {
                return(GenerateElement(cell, dataItem));
            }
            var obj = dataItem as ObjectProperty;

            if (obj.Value is string)
            {
                var tb = new TextBox();
                tb.Text = obj.Value as string;
                tb.LostKeyboardFocus += Tb_LostKeyboardFocus;
                tb.Tag = obj;
                return(tb);
            }
            else if (obj.Value is Enum)
            {
                var      cb = new ComboBox();
                EnumItem currentItem;
                cb.ItemsSource = EnumItem.get(obj, out currentItem);
                if (currentItem != null)
                {
                    cb.SelectedItem = currentItem;
                }
                else
                {
                    cb.SelectedIndex = 0;
                }
                cb.SelectionChanged += Cb_SelectionChanged;
                cb.Tag = obj;
                return(cb);
            }
            else if (obj.Value is int)
            {
                if (obj.flags.HasFlag(PropertyFlags.UpDownSpinner))
                {
                    var sp = new IntegerUpDown();
                    sp.Maximum       = (int)obj.max;
                    sp.Minimum       = (int)obj.min;
                    sp.Value         = (int)obj.Value;
                    sp.ValueChanged += Sp_ValueChanged;
                    sp.Tag           = obj;
                    return(sp);
                }
                else
                {
                    var tb = new TextBox();
                    tb.Text = obj.Value.ToString();
                    tb.LostKeyboardFocus += Tb_LostKeyboardFocus;
                    tb.Tag = obj;
                    return(tb);
                }
            }
            else if (obj.Value is bool)
            {
                var cb = new CheckBox();
                cb.IsChecked  = (bool)obj.Value;
                cb.Checked   += Cb_CheckedChanged;
                cb.Unchecked += Cb_CheckedChanged;
                cb.Tag        = obj;
                return(cb);
            }
            return(GenerateElement(cell, dataItem));
        }
Exemplo n.º 3
0
 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 public override string ToString()
 {
     return(EnumItem.ToString(value));
 }