silverlight – 如何限制滑块的值更改事件?

silverlight – 如何限制滑块的值更改事件?,第1张

概述我有一个滑块,价值变化强制一个相当严格的计算,所以我想要限制它,以触发实际事件,例如50ms通过,当用户完成滑动它. 虽然我学习了一些关于Rx的各种东西,不清楚我应该如何使用MVVM模式来处理这个问题. 在我目前的MVVM方法中,我将滑块值绑定到我的viewModel.我更喜欢添加Rx油门,对现有代码的影响最小(至少为起点). 我看到一些关于MVVM和Rx的其他线程,我不认为他们导致我对我的问题的 我有一个滑块,价值变化强制一个相当严格的计算,所以我想要限制它,以触发实际事件,例如50ms通过,当用户完成滑动它.

虽然我学习了一些关于Rx的各种东西,不清楚我应该如何使用MVVM模式来处理这个问题.

在我目前的MVVM方法中,我将滑块值绑定到我的viewmodel.我更喜欢添加Rx油门,对现有代码的影响最小(至少为起点).

我看到一些关于MVVM和Rx的其他线程,我不认为他们导致我对我的问题的确切方向.我看到各种可能的方法,不想发明一个附件.

解决方法 在这种情况下,您应该绑定到viewmodel的PropertyChanged事件,如下所示:

Observable.FromEvent<PropertyChangedEventArgs>(x => this.PropertyChanged +=x,x => this.PropertyChanged -= x)    .Where(x => x.Propertyname == "SlIDername")    .Select(_ => this.SlIDername)    .Throttle(TimeSpan.FromMilliseconds(50));

或者,如果您使用ReactiveUI,它将如下所示:

this.WhenAnyValue(x => x.SlIDername)    .Throttle(TimeSpan.FromMilliseconds(50),RxApp.DeferredScheduler);
总结

以上是内存溢出为你收集整理的silverlight – 如何限制滑块的值更改事件?全部内容,希望文章能够帮你解决silverlight – 如何限制滑块的值更改事件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1004176.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存