Probé este XAML:WPF: Deslizador duerma elevar MouseLeftButtonDown o MouseLeftButtonUp
<Slider Width="250" Height="25" Minimum="0" Maximum="1" MouseLeftButtonDown="slider_MouseLeftButtonDown" MouseLeftButtonUp="slider_MouseLeftButtonUp" />
Y esto C#:
private void slider_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
sliderMouseDown = true;
}
private void slider_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
sliderMouseDown = false;
}
La variable sliderMouseDown nunca cambia porque los acontecimientos MouseLeftButtonDown y MouseLeftButtonUp Nunca se levantan. ¿Cómo puedo hacer que este código funcione cuando un usuario tiene el botón izquierdo del mouse en un control deslizante para tener un valor bool establecido en verdadero, y cuando el mouse está activo, el bool se establece en falso?
Gracias, pude usar el evento IsMouseCapturedWithinChanged en combinación con los eventos PreviewMouseLeftButtonUp para lograr mi objetivo final. – Nick
¿Alguien conoce la razón de este comportamiento? – PeterAllenWebb
El motivo de este comportamiento es que el botón maneja el evento MouseDown. De forma predeterminada, si algún control indica que ha manejado un evento, nadie más recibe una notificación a menos que haya especificado que también quiere ver los eventos manejados. –