1

我在我的 xamarin 应用程序中添加了一个滑块,但我使用视图模型来捕获值。如何在 GUI 上移动滑块并显示上下递增的值,然后捕获其值?

或者有没有办法可以包含“MySlider_ValueChanged”事件并将其应用于视图模型页面而不是文件后面的内容页面代码?

4

1 回答 1

1

有没有办法可以包含“MySlider_ValueChanged”事件并将其应用于视图模型页面而不是文件后面的内容页面代码?

你必须找到一个 BindableProperty 可以绑定在 view model( ICommand) 中,它应该和 event 做同样的工作ValueChanged

例如

我们可以在页面代码后面处理Tapped事件,我们也可以创建新的内部视图模型,并将其与TapGestureRecognizer 绑定。TapGestureRecognizerICommandCommand

但是, Slider 没有功能检测值更改的命令,只有DragStartedCommandDragCompletedCommand,因此唯一的解决方案是在 Value 的 setter 方法中触发您的方法。

Xaml
<Slider  Value="{Binding CurrentProgress}" />
查看模型
public double CurrentProgress
{
    get { return currentProgress; }
    set
    {
        currentProgress = value;
        NotifyPropertyChanged("CurrentProgress");
        YourMethod(value);
    }
}

请参阅https://stackoverflow.com/a/25141043/8187800

于 2019-10-22T12:54:01.900 回答