gpt4 book ai didi

wpf - 如何以 ReactiveUI 方式处理 Windows 事件(消息)?

转载 作者:可可西里 更新时间:2023-11-01 09:58:02 26 4
gpt4 key购买 nike

我是 ReactiveUI 的新手,目前对它很满意。但我有一个问题:如何以 ReactiveUI 方式处理 Windows 事件/消息?

在mvvmlight中是这样的:

<Window ...
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:command="http://www.galasoft.ch/mvvmlight">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Closing">
<command:EventToCommand Command="{Binding ClosingCommand}"
PassEventArgsToCommand="True" />
</i:EventTrigger>
</i:Interaction.Triggers>

但我不知道如何在 ReactiveUI 中进行。也许它类似于

MessageBus.Current.Listen<KeyUpEventArgs>()  
.Where(e => e.KeyCode == KeyCode.Up)
.Subscribe(x => Console.WriteLine("Up Pressed!"));

但我不知道如何专门针对大型机的Closing 事件。

我在某处读到 ReactiveUI 的作者并不强烈反对code behind 代码(也许我记错了),那么建议的方法是什么?

最佳答案

有一个单独的 Nuget 包 ReactiveUI Events ,其中包含帮助程序(扩展方法)将事件公开为 IObservables,您可以在 View 中使用它。据描述in the docs .

基本上,您在 View 中的代码将包含与此类似的内容:

this.Events().Closing
.Subscribe(_ => Console.WriteLine("Bye!"));

看看at this question

关于wpf - 如何以 ReactiveUI 方式处理 Windows 事件(消息)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38474953/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com