Jam*_*Hay 4 silverlight wpf slider mouseevent
当试图使用一个Slider控件我想听听MouseLeftButtonDown和MouseLeftButtonUp.我为这两个活动设置了处理程序.在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中情况几乎相同(名称差异很小).