滑块MouseLeftButtonDown不起作用?

Jam*_*Hay 4 silverlight wpf slider mouseevent

当试图使用一个Slider控件我想听听MouseLeftButtonDownMouseLeftButtonUp.我为这两个活动设置了处理程序.在MouseLeftButtonUp按预期工作.MouseLeftButtonDown根本没有提高.

有什么想法吗?

我做了一些谷歌搜索,似乎WPF也没有开火.其中一个解决方案(在这篇文章中)是使用事件的预览版本,这是silverlight不支持的.

我有没有看到任何简单的解决方案?

谢谢J

Anv*_*aka 12

它发生是因为Slider处理鼠标向下/向上事件.在内部,它实现为两个RepeatButtons和一个拇指在中间.当您单击滑块的左侧或右侧时,您的鼠标事件由RepeatButtons处理,您无法获得它们.

如果您仍想处理已处理事件,则可以使用AddHandler()方法.这是Silverlight示例:

XAML

<Slider Width="100"
        VerticalAlignment="Top"
        Minimum="0"
        Maximum="100"
        Name="sl" />
Run Code Online (Sandbox Code Playgroud)

C#

public partial class MainPage : UserControl
{
  public MainPage()
  {
    InitializeComponent();

    sl.AddHandler(MouseLeftButtonDownEvent, new MouseButtonEventHandler(Slider_MouseLeftButtonDown), true);
    sl.AddHandler(MouseLeftButtonUpEvent, new MouseButtonEventHandler(Slider_MouseLeftButtonUp), true);
  }

  private void Slider_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
  {
  }

  private void Slider_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
  {
  }
}
Run Code Online (Sandbox Code Playgroud)

在WPF中情况几乎相同(名称差异很小).