Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF滑块控制鼠标滚轮_Wpf - Fatal编程技术网

WPF滑块控制鼠标滚轮

WPF滑块控制鼠标滚轮,wpf,Wpf,我有一个WPF滑块,Mousewheel事件处理程序已经连接好,工作正常,但是,滑块上鼠标滚轮生效的区域非常窄,我需要将鼠标放在滑块滑轨上,大约5像素 如何增加鼠标滚轮激活的影响范围 更新: 顺便说一句,我需要在代码中这样做,我没有访问Xaml的权限,因为我正在向第三方应用程序添加一些东西 更新2: 以下是我创建滑块的代码: var riskRewardSlider = new Slider() { Minimum = 1,

我有一个WPF滑块,Mousewheel事件处理程序已经连接好,工作正常,但是,滑块上鼠标滚轮生效的区域非常窄,我需要将鼠标放在滑块滑轨上,大约5像素

如何增加鼠标滚轮激活的影响范围

更新:

顺便说一句,我需要在代码中这样做,我没有访问Xaml的权限,因为我正在向第三方应用程序添加一些东西

更新2:

以下是我创建滑块的代码:

        var riskRewardSlider = new Slider()
        {
            Minimum = 1,
            Maximum = 5,
            SmallChange = 0.5,
            TickFrequency = 0.5,
            DataContext = scopeContext,
            IsSnapToTickEnabled = true, 
            Value = 2,
            Background = Brushes.DodgerBlue,
            Height = 30,
            IsSelectionRangeEnabled = true
        };

滑块值随双精度变化。它的敏感度为0.1或更低。如果我理解正确,您不希望像0,1那样增加。所以,

mySlider.IsSnapToTickEnabled = true;
mySlider.TickFrequency = 1;
您可以将其添加到启动方法中。(也可以将其作为属性添加到xaml中,但需要作为代码)。这将使滑块增加1,而不是0,1

注意:0,1只是一个双重示例,默认情况下滑块的敏感度低于0,1


注2:很抱歉我的英语不好。

请为滑块使用另一个控件模板。我是WPF新手-我是一名web开发人员。你能详细说明一下吗?也许这是一个很好的教程。你如何创建滑块?控件的背景似乎设置为空。将背景设置为透明。否将背景设置为透明会使轨迹消失。“背景”属性似乎只影响轨迹。。。。。我真的只需要把轨道加厚谢谢你的回复。欢迎来到StackOverflow。我的问题实际上是关于悬停区域-鼠标需要在轨迹上的一个非常精确的位置,否则鼠标滚轮不工作。你不能在整个窗口上添加此鼠标滚轮事件吗?所以你不再需要那个区域了。如果你不想要整个窗口,你可以用你的高度创建一个(stackpanel等),然后在你的stackpanel上添加该事件?这可能会起作用,但有两个滑块彼此相邻,都在同一个面板上,我需要以某种方式将它们拆分。我能把它们放在一个盒子里吗?如果你能添加一个盒子,(有足够的空间)你可以增加滑块的大小,或者为它添加一个边距。但是,如果您想将它们添加到框中,请添加Borderthickness和Borderbrush。滚轮将触发其事件,即使鼠标光标位于边框上。