xamarin表单Slider不区分代码中的值更改与滑块位置的UI更改

时间:2016-06-11 04:06:45

标签: xamarin.forms

在Android Slider中,ProgressChangedEventArgs具有FromUser属性。

在Xamarin形式的Slider中,似乎无法区分在代码中移动Slider的值与移动滑块旋钮之间的区别。这是因为这个功能不在ios的UISlider中吗?

没有嵌入本机控件,有没有办法实现这个功能?

1 个答案:

答案 0 :(得分:1)

我实现此目的的方法是在使用MessagingCenter触摸滑块时发送消息。我为iOS和Android创建了自定义渲染器。在Android中,我在SeekBar的StartTrackingTouch和StopTrackingTouch中发送消息。在iOS上我相信我刚刚使用了AllTouchEvents事件,这对我的目的来说很好。

另一种方法是,如果值正在从模型中更改,则将事件发送到ViewModel而不是直接更改值(如果模型中的值发生更改且模型可以访问ViewModel,则无论如何都是糟糕的设计。)在我的情况下,我需要知道什么时候触摸滑块,因为值不断从网络变化,我需要在一段时间内使网络响应无效,这样用户就不会遇到滑块跳转。