internal async Task OnInternalSelectAsync(SelectResultModel <TValue> item)
        {
            var args = new BChangeEventArgs <SelectResultModel <TValue> >();

            args.NewValue = item;
            args.OldValue = SelectedOption;
            if (OnChanging.HasDelegate)
            {
                await OnChanging.InvokeAsync(args);

                if (args.DisallowChange)
                {
                    return;
                }
            }

            await dropDownOption.Instance.CloseDropDownAsync(dropDownOption);

            SelectedOption = item;
            SetFieldValue(item.Key, true);
            Value = item.Key;
            if (dict != null)
            {
                dict.TryGetValue(Value, out var label);
                Label = label;
            }
            if (OnChange.HasDelegate)
            {
                await OnChange.InvokeAsync(args);
            }
            Console.WriteLine(Label);
            EnableClearButton = false;
            StateHasChanged();
        }
예제 #2
0
        internal async Task OnInternalSelectAsync(BSelectOptionBase <TValue> item)
        {
            var args = new BChangeEventArgs <BSelectOptionBase <TValue> >();

            args.NewValue = item;
            args.OldValue = SelectedOption;
            if (OnChanging.HasDelegate)
            {
                await OnChanging.InvokeAsync(args);

                if (args.DisallowChange)
                {
                    return;
                }
            }

            await dropDownOption.Instance.CloseDropDownAsync(dropDownOption);

            SelectedOption = item;
            SetFieldValue(item.Value, true);
            Value = item.Value;
            if (dict != null)
            {
                dict.TryGetValue(Value, out var label);
                Label = label;
            }
            if (OnChange.HasDelegate)
            {
                await OnChange.InvokeAsync(args);
            }
            IsClearButtonClick = false;
            StateHasChanged();
        }
예제 #3
0
 public override void Press()
 {
     base.Press();
     Value = lastPos;
     if (OnChanging != null)
     {
         OnChanging.Invoke(Value);
     }
 }
예제 #4
0
파일: TextInput.cs 프로젝트: kuviman/Q
 /// <summary>
 /// Handles character input event.
 /// </summary>
 /// <param name="c">Character input.</param>
 public override void CharInput(char c)
 {
     base.CharInput(c);
     Value += c;
     if (OnChanging != null)
     {
         OnChanging.Invoke(Value);
     }
 }
예제 #5
0
파일: TextInput.cs 프로젝트: kuviman/Q
 void Backspace()
 {
     if (Value.Length != 0)
     {
         Value = Value.Substring(0, Value.Length - 1);
         if (OnChanging != null)
         {
             OnChanging.Invoke(Value);
         }
     }
 }
예제 #6
0
 public override void MouseMove(Vec2 position)
 {
     base.MouseMove(position);
     lastPos = (position.X - BottomLeft.X) / Size.X;
     if (Pressed)
     {
         Value = lastPos;
         if (OnChanging != null)
         {
             OnChanging.Invoke(Value);
         }
     }
 }
예제 #7
0
 internal NDAttachedPropertyKey(OnChanging <TKey, TType, TValue> changedMethod, TValue defaultValue, NDPropertySettings settigns) : base(defaultValue, settigns)
 {
     this.changedMethod = changedMethod;
 }
 public void OnChangeButton()
 {
     OnChanging?.Invoke();
 }
예제 #9
0
        /// <summary>
        /// Registers an attached Proeprty on the specific class.
        /// </summary>
        /// <typeparam name="TValue">The type of the Property</typeparam>
        /// <typeparam name="TType">The Type of the Object that defines the Property</typeparam>
        /// <param name="changingMethod">The Method that will be called if the property will be set.</param>
        /// <param name="defaultValue">The default Value that the Proeprty will have if no value is set.</param>
        /// <param name="nullTreatment">Defines how to handle Null values.</param>
        /// <param name="settigns">Additional Settings.</param>
        /// <returns>The Property key</returns>
        public static NDAttachedPropertyKey <TKey, TType, TValue> RegisterAttached <TType, TValue>(OnChanging <TKey, TType, TValue> changingMethod, TValue defaultValue, NDPropertySettings settigns)
            where TType : class
        {
            var p = new NDAttachedPropertyKey <TKey, TType, TValue>(changingMethod, defaultValue, settigns);

            if (p.Inherited)
            {
                if (!inheritedPropertys.ContainsKey(typeof(TType)))
                {
                    inheritedPropertys.Add(typeof(TType), new List <IInternalNDProperty <TKey> >());
                }
                inheritedPropertys[typeof(TType)].Add(p);
            }
            if (settigns.HasFlag(NDPropertySettings.ParentReference))
            {
                AddParentHandler(p);
            }

            return(p);
        }