LayerFrame Keystrokes(KeystrokesSettings Settings) { var control = Text(Settings, "Keystrokes"); var visibilityProp = Settings .ObserveProperty(M => M.SeparateTextFile) .Select(M => M ? Visibility.Collapsed : Visibility.Visible) .ToReadOnlyReactivePropertySlim(); control.BindOne(VisibilityProperty, visibilityProp); return(control); }
void InitOverlaySettings() { if (Keystrokes == null) { Keystrokes = new KeystrokesSettings(); } if (Clicks == null) { Clicks = new MouseClickSettings(); } if (WebcamOverlay == null) { WebcamOverlay = new WebcamOverlaySettings { HorizontalAlignment = Alignment.End }; } }
LayerFrame Keystrokes(KeystrokesSettings Settings) { var control = Text(Settings, "Keystrokes"); void SetVisibility() { control.Visibility = Settings.SeparateTextFile ? Visibility.Collapsed : Visibility; } SetVisibility(); Settings.PropertyChanged += (S, E) => { switch (E.PropertyName) { case nameof(Settings.SeparateTextFile): SetVisibility(); break; } }; return(control); }
LayerFrame Keystrokes(KeystrokesSettings Settings) { return(Text(Settings, "Keystrokes")); }