我正在向我的 xamarin 应用程序添加一个滑块,但我使用视图模型来捕获值。如何移动 GUI 上的滑块并显示上下递增的值,然后捕获其值?
或者有没有办法包含"MySlider_ValueChanged"事件并将其应用于视图模型页面而不是文件后面的内容页面代码?
没有办法包含"MySlider_ValueChanged"事件并将其应用于视图模型页面而不是文件后面的内容页面代码?
你必须找到一个可以绑定在视图模型(ICommand
)内的可绑定属性,它应该做与事件ValueChanged
相同的工作。
例如
我们可以在页面代码隐藏中处理Tapped
TapGestureRecognizer
的事件,也可以在视图模型内创建新的ICommand
,并将其与 TapGestureRecognizer 的Command
绑定。
但是 Slider 没有函数是检测值变化的命令,只有 DragStartedCommand 和 DragCompleteCommand, 所以唯一的解决方案是在 值 的 setter 方法中触发您的方法。
哈姆勒<Slider Value="{Binding CurrentProgress}" />
查看模型public double CurrentProgress
{
get { return currentProgress; }
set
{
currentProgress = value;
NotifyPropertyChanged("CurrentProgress");
YourMethod(value);
}
}
请参阅 https://stackoverflow.com/a/25141043/8187800。