Wpf 禁用鼠标拖动滑块

Wpf 禁用鼠标拖动滑块,wpf,Wpf,在我的WPF窗口中,我有一个按钮和一个滑块 首先,我将滑块拖动到一个值,比如说5。单击该按钮后,并行进程将运行,这意味着有5个任务正在运行。任务完成后,滑块的值将递减。当所有任务完成时,滑块的值应为0 Dispatcher.BeginInvoke((Action)delegate() { slider.Value = slider.Value - 1; } 然而,问题是我仍然可以玩滑块与鼠标在这段时间。我可以在运行时将滑块拖动到任意值。我想在此过程中禁用鼠标拖动功能 选择新值并启动任务时

在我的WPF窗口中,我有一个按钮和一个滑块

首先,我将滑块拖动到一个值,比如说5。单击该按钮后,并行进程将运行,这意味着有5个任务正在运行。任务完成后,滑块的值将递减。当所有任务完成时,滑块的值应为0

Dispatcher.BeginInvoke((Action)delegate()
{
   slider.Value = slider.Value - 1;
}

然而,问题是我仍然可以玩滑块与鼠标在这段时间。我可以在运行时将滑块拖动到任意值。我想在此过程中禁用鼠标拖动功能

选择新值并启动任务时,还应通过设置
slider.IsEnabled=false来禁用滑块。最后一个任务完成后,让它重新启用滑块。禁用滑块时,用户将无法以任何方式操纵滑块。

如果希望滑块看起来正常但不接受输入,可以尝试将
IshittetVisible
Focusable
设置为
False

禁用滑块应为预期行为。如果您不想要禁用状态的外观和感觉,请尝试为该状态使用一些样式,但是我建议保留默认行为。当用户不能拖动勾号栏时,它应该有一些禁用状态的外观和感觉。使gui元素看起来可编辑而实际上不可编辑是一个相当有问题的决定。所有控件都应发出信号,表明它们是可由用户修改的还是可由用户修改的not@DenisSchaf视情况而定。您可能希望禁用某些内容,或者以只读方式等待它。这些是不同的。“禁用”会使内容难以查看,如果要预设实际值,则“禁用”是不好的,而“只读”则没有此问题。Slider不支持任何“只读”(比如textbox),所以这是一种快速获取类似内容的方法。在WPF中,用不同的样式可视化这种只读状态是没有问题的。