gpt4 book ai didi

c# - slider - 无需单击拇指即可更改值

转载 作者:行者123 更新时间:2023-12-03 10:56:07 26 4
gpt4 key购买 nike

我试图在不点击拇指的情况下移动 slider 。我现在所拥有的是单击 slider 并将拇指移动到该位置。我想要做的是在鼠标单击仍然向下时能够移动拇指(更改值)。 (就像在 YouTube 或任何音频/视频播放器上一样)
这就是我现在所拥有的:

<Slider MouseLeave="Slider_MouseLeave" 
MouseMove="Slider_MouseMove"
IsMoveToPointEnabled ="True"
PreviewMouseUp="Slider_PreviewMouseUp"
Thumb.DragStarted="Slider_DragStarted"
Thumb.DragCompleted="Slider_SaveChange"
Minimum="0"
Maximum="{Binding HomeViewSettings.SelectedTrack.TrackTime.TotalSeconds}"
Value="{Binding HomeViewSettings.CurrentTrackProgressInValue}"/>

最佳答案

我找到了这个解决方案:

mySlider.MouseMove += (sender, args) =>
{
if (args.LeftButton == MouseButtonState.Pressed && this.clickedInSlider)
{
var thumb = (mySlider.Template.FindName("PART_Track", mySlider) as System.Windows.Controls.Primitives.Track).Thumb;
thumb.RaiseEvent(new MouseButtonEventArgs(args.MouseDevice, args.Timestamp, MouseButton.Left)
{
RoutedEvent = UIElement.MouseLeftButtonDownEvent,
Source = args.Source
});
}
};

mySlider.AddHandler(UIElement.PreviewMouseLeftButtonDownEvent, new RoutedEventHandler((sender, args) =>
{
clickedInSlider = true;
}), true);

mySlider.AddHandler(UIElement.PreviewMouseLeftButtonUpEvent, new RoutedEventHandler((sender, args) =>
{
clickedInSlider = false;
}), true);

关于c# - slider - 无需单击拇指即可更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62924408/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com