Я хочу объединить событие PreviewKeyUp смахивания карты, однако, как только я применяю какое-либо статистическое преобразование к базовой настройке, оно перестает работать. Не уверен, что я здесь делаю не так.
//base setup to wrap event works perfectly
var x = Observable.FromEventPattern<KeyEventArgs>(
h => this.PreviewKeyUp += new System.Windows.Input.KeyEventHandler(h),
h => this.PreviewKeyUp -= new System.Windows.Input.KeyEventHandler(h))
.Select(a =>
{
//In house function
return TranslateKey(a.EventArgs.Key);
});
x.Subscribe(s => Console.WriteLine("seems I'm working: " + (s)));
выход:
кажется я работаю: 5
кажется я работаю
кажется я работаю: 1
кажется я работаю: 2
кажется я работаю: 3
кажется я работаю: 5
кажется я работаю: 7
кажется я работаю: 7
кажется я работаю: =
кажется я работаю: 5
кажется я работаю: 5
кажется я работаю: 5
кажется я работаю: 5
кажется я работаю: 5
кажется я работаю: =
кажется я работаю: 6
кажется я работаю: 5
кажется я работаю: 4
кажется я работаю: 3
кажется я работаю: 3
кажется я работаю: 2
кажется я работаю: 8
Кажется, я работаю:?
но как только применить преобразование ниже (потому что я меняю карту, и она производит несколько событий keyup, и я хочу собрать их вместе и генерировать строку), и он перестает работать, не знаю, почему
var x = Observable.FromEventPattern<KeyEventArgs>(
h => this.PreviewKeyUp += new System.Windows.Input.KeyEventHandler(h),
h => this.PreviewKeyUp -= new System.Windows.Input.KeyEventHandler(h))
.Select(a =>
{
return TranslateKey(a.EventArgs.Key);
})
.ToList().Select(s => string.Concat(s));
x.Subscribe(s => Console.WriteLine("seems I'm working: " + (s)));