概述
我有一个采用 UWP 技术的项目,我在其中使用滑块控件来收集有关滑块移动的信息,我使用了
ManipulationStarting
(用于移动开始)和 ManipulationEnding
(用于移动结束)事件.
主要问题
当用户单击滑块线立即更改其值而不是滑块移动时,问题就出现了。在这种情况下,
ManipulationStarting
事件没有被调用,破坏了我的架构逻辑。
我试图解决这个问题`
PointerReleased
/PointerPress
事件,但只有在 ValueChanged
事件Set
方法中调用 ValueChanging
事件(请参阅下面的代码)。但在使用 Binding
的情况下,仅使用基本属性,并且我的覆盖属性将被跳过。 public class TestSlider : Slider
{
public event EventHandler ValueChanging;
public new double Value
{
get => (this as Slider).Value;
set
{
ValueChanging?.Invoke( this, new EventArgs());
(this as Slider).Value = value;
}
} }
你能帮我找到另一种方法来解决这个问题吗?
在我看来,尝试为滑块挂钩“开始和结束”事件没有任何好处; Slider 唯一有趣的事件是“ValueChanged”事件。它可能会被遗漏,因为它是在 Slider 的基类 (RangeBase) 中定义的。