C# 在视图中激发事件时,对ViewModel调用ReactiveUI命令

C# 在视图中激发事件时,对ViewModel调用ReactiveUI命令,c#,reactiveui,C#,Reactiveui,我正在使用反应式UI事件扩展到反应式UI 只是想让事件连接到ViewModel 最初,我在我的视图的构造器中 this.Events().KeyDown.Select(x => x.Key).InvokeCommand(ViewModel.NewTextCommand); 但是,这在构造函数中有一个问题,视图模型还不存在。我考虑添加一个whenany值并设置调用,但不确定这是否会导致内存泄漏 目前我有 this.Events().KeyDown.Selec

我正在使用反应式UI事件扩展到反应式UI

只是想让事件连接到ViewModel

最初,我在我的视图的构造器中

        this.Events().KeyDown.Select(x => x.Key).InvokeCommand(ViewModel.NewTextCommand);
但是,这在构造函数中有一个问题,视图模型还不存在。我考虑添加一个whenany值并设置调用,但不确定这是否会导致内存泄漏

目前我有

        this.Events().KeyDown.Select(x => x.Key).Subscribe(
            x =>
            {
                if (ViewModel != null)
                {
                    if (ViewModel.NewTextCommand.CanExecute(x))
                    {
                        ViewModel.NewTextCommand.Execute(x);
                    }
                }
            });

但这似乎有点笨拙

任何值都可以使用
,但ReactiveUI中还有一个内置的
InvokeCommand

this.Events().KeyDown.Select(x => x.Key).InvokeCommand(this, v => v.ViewModel.NewTextCommand);