一旦滑块达到最大值,尝试增加 WPF 滑块的最大值

Trying to increase the value of maximum of WPF slider once the slider reaches the maximum

我正在使用 WPF 创建视频编辑应用程序。我有一个最大值为 1000 的滑块。我有一个图像,它的图像源绑定到 ImageFrameModels 列表中的文件路径,其中滑块值是列表的索引器。在过去的两天里,我疯狂地试图完成以下任务:

当滑块到达控件的末尾(即滑块的最大值)时,我需要 ImageFrameModels 索引继续递增。以及增加滑块的最大值和最小值。当我向后移动滑块拇指时,我需要它停止递增。我正在尝试模仿擦洗或滚动视频。

我已经尝试增加数据绑定到滑块值、滑块最大值和滑块最小值的属性,如下所示:

private int sliderValue;
public int SliderValue
{
    get { return sliderValue; }
    set
    {
        if(sliderValue != value)
        {
            sliderValue = value;
            NotifyPropertyChanged(nameof(SliderValue));
            
            if(SliderValue == SliderMax)
            {
                SliderMax ++;
                SliderMin++;
                SliderValue++;
                NotifyPropertyChanged(nameof(SliderValue));
                NotifyPropertyChanged(nameof(SliderMin));
                NotifyPropertyChanged(nameof(SliderMax));
            }
        }
    }
}

这只发射了一次。我必须继续移动滑块拇指才能让它再次发射。我需要一个循环或保持 运行 的东西,而滑块位于控件的末尾并停止它不是。

这可能无法实现,但如果您有任何帮助或建议,我将不胜感激。

你需要考虑如何开始和停止重复添加最大值以及它的间隔。可能它应该直接与用户的输入相关联(例如,在最大位置按住滑块拇指)。

此类功能需要与用户输入进行密切交互,因此可以而且应该在视图中处理,可能是自定义滑块,而不是视图模型。