public void Initialize()
        {
            var valueType = new StateValueType();

            valueType.AcceptedValues = KeysNames.Select(x => x.Key).ToArray();
            this.ValueType           = valueType;
        }
示例#2
0
        public StatusInitializationView(IStandardValueAction action, IAction masterAction = null)
        {
            InitializeComponent();
            _masterAction = masterAction;
            _action       = action;
            _oldVal       = _action.Value;
            _valueType    = (StateValueType)action.ValueType;

            if (masterAction != null)
            {
                gridAdd.Visibility = Visibility.Collapsed;
                _valueType         = (StateValueType)masterAction.ValueType;
            }
            else
            {
                btAddNew.Click      += (o, e) => CreateNewStateFromTextBox();
                tbNewStatus.KeyDown += (o, e) => {
                    if (e.Key == System.Windows.Input.Key.Enter)
                    {
                        CreateNewStateFromTextBox();
                    }
                };
            }

            foreach (var state in _valueType.AcceptedValues)
            {
                Add(state);
            }

            UpdateSearchControls();

            btApply.Click += (o, e) => {
                var selectedState = (listItemsStatus.SelectedItem as StatusInitializationViewItem)?.Text;
                if (string.IsNullOrEmpty(selectedState))
                {
                    selectedState = _oldVal;
                }
                var states = listItemsStatus.GetItems().Select(x => ((StatusInitializationViewItem)x).Text);
                _valueType.AcceptedValues = states.ToArray();
                _action.ValueType         = _valueType;
                _action.Value             = selectedState;
                ApplyClicked?.Invoke();
            };
        }
示例#3
0
        public void Initialize()
        {
            if (!CachedKeys.Any())
            {
                var allKeys = Enum.GetValues(typeof(Keys));
                foreach (var key in allKeys)
                {
                    var name = Enum.GetName(typeof(Keys), key);
                    //hardcode begin
                    if (CachedKeys.ContainsKey(name))
                    {
                        name = name + " (2)";
                    }
                    if (CachedKeys.ContainsKey(name))
                    {
                        name = name.Replace("(2)", "(3)");
                    }
                    if (CachedKeys.ContainsKey(name))
                    {
                        name = name.Replace("(3)", "(4)");
                    }
                    if (CachedKeys.ContainsKey(name))
                    {
                        name = name.Replace("(4)", "(5)");
                    }
                    if (CachedKeys.ContainsKey(name))
                    {
                        name = name.Replace("(5)", "(6)");
                    }
                    //hardcode end
                    CachedKeys.Add(name, (Keys)key);
                }
            }

            var valueType = new StateValueType();

            valueType.AcceptedValues = CachedKeys.Select(x => x.Key).ToArray();
            this.ValueType           = valueType;
        }