protected async Task OnKeyUpAsync(KeyboardEventArgs args) { await ChangeValue(); if (OnkeyUp.HasDelegate) { await OnkeyUp.InvokeAsync(args); } }
protected async Task OnKeyUpAsync(KeyboardEventArgs args) { if (!EqualityComparer <TValue> .Default.Equals(CurrentValue, _inputValue)) { CurrentValue = _inputValue; if (OnChange.HasDelegate) { await OnChange.InvokeAsync(Value); } } if (OnkeyUp.HasDelegate) { await OnkeyUp.InvokeAsync(args); } }
/// <summary> /// 前回の状態と現在の状態を比較してイベント処理 /// </summary> private void ProcessEvent() { // 各キーのイベントを処理 foreach (HoloPlayButton button in Enum.GetValues(typeof(HoloPlayButton))) { if (!lastState[button] && currentState[button]) { // Key down OnkeyDown?.Invoke(button); } else if (lastState[button] && !currentState[button]) { // Key up OnkeyUp?.Invoke(button); } lastState[button] = currentState[button]; } }