public bool Check(T target, Key key, Key systemKey, object focusedControl, bool isPreview) { if (this.IsDisposed) { return(false); } if (!this.isFilterReset) { this.ResetPreFilters(); } this.acted = false; var modifier = Keyboard.Modifiers; if (key == Key.System && modifier == ModifierKeys.Alt) { key = systemKey; } var preFilterArgs = new PreFilterArgs(focusedControl) { IsPreview = isPreview, }; this.PreFilters.ForEach(x => x.Check(preFilterArgs)); this.KeySubject.OnNext(new KeyActionContainer() { Target = target, Key = key, Modifier = modifier, IsPreview = isPreview, }); if (!isPreview) { this.isFilterReset = false; } return(this.acted); }
public void Check(PreFilterArgs args) { this.Result = this.Filter(args); }