Я создал очень простой тестовый элемент управления с Rectangle
на холсте (в других контейнерах, но несущественно).Rectangle
имеет обработчики событий для мыши, перемещения мыши и мыши вверх.Если я фиксирую мышь в событии MouseLeftButtonDown Rectangle, я не получаю соответствующее событие MouseLeftButtonUp.
Некоторый код:
private void rect1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (_captured = CaptureMouse())
{
_offset = new Point(Canvas.GetLeft(rect1), Canvas.GetTop(rect1));
_origin = e.GetPosition(RootCanvas);
e.Handled = true;
}
}
private void rect1_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
if (_captured)
{
ReleaseMouseCapture();
_captured = false;
e.Handled = true;
}
}
Я также прикрепил обработчики событий для элементов контейнера, просточтобы убедиться, что кто-то из них не получит событие мыши, но никто из них не получил.Есть ли ожидание этого в Silverlight, которого я еще не узнал?