Exemple #1
0
        public ThrottleFirstViewModel()
        {
            var timeSpan = TimeSpan.FromMilliseconds(2000);

            InputText = new ReactivePropertySlim <string>(
                initialValue: "", mode: ReactivePropertyMode.DistinctUntilChanged)
                        .AddTo(CompositeDisposable);

            // 入力終了から4秒したらクリアする
            InputText
            .Sample(TimeSpan.FromMilliseconds(4000))
            .Subscribe(_ => InputText.Value = "")
            .AddTo(CompositeDisposable);

            // 入力文字を1文字ずつ流す
            var inputChar = InputText
                            .Select(x => x.Length > 0 ? x[^ 1] : default(char?))