이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

UIElement.CaptureMouse 메서드 ()

 

게시 날짜: 2016년 11월

이 요소에는 마우스 캡처를 강제 적용을 시도 합니다.

네임스페이스:   System.Windows
어셈블리:  PresentationCore(PresentationCore.dll에 있음)

public bool CaptureMouse()

반환 값

Type: System.Boolean

true 마우스 캡처되면 그렇지 않으면 false합니다.

캡처할 수 요소를 사용할 수 있어야 합니다. 확인 여부 IsEnabledtrue 호출 하기 전에 CaptureMouse합니다.

호출 하는 경우 CaptureMouse 반환 true, 다음 IsMouseCapturedtrue합니다.

호출 하는 경우 CaptureMouse 반환 true, 는 GotMouseCaptureIsMouseCapturedChanged 이벤트가 발생와 RoutedEventArgs.Source 데이터 요소로 보고 하는 이벤트의 위치는 CaptureMouse 메서드를 호출 합니다. 캡처를 강제로 경우에 기존 캡처 충돌할 수 있습니다-마우스 끌어서 놓기 관련 된 캡처와 특히 사용 합니다.

모든 요소에서 마우스 캡처를 지우려면 호출 Mouse.Captureelement 매개 변수로 제공 null합니다.

다음 예제에서는 한 쌍의 마우스 캡처 (및 캡처 해제) 여부를 지정 하는 마우스 및 키 입력된 조합에 대 한 처리기를 구현 하 고 3D 모델 보기에 대 한 특수 한 마우스 모드를 사용 하도록 설정 합니다.

private void MouseDownHandler(object sender, MouseButtonEventArgs e)
{
    if (!Enabled) return;
    e.Handled = true;


    if (Keyboard.IsKeyDown(Key.F1) == true)
    {
        Reset();
        return;
    }

    UIElement el = (UIElement)sender;
    _point = e.MouseDevice.GetPosition(el);
    // Initialize the center of rotation to the lookatpoint
    if (!_centered)
    {
        ProjectionCamera camera = (ProjectionCamera)_slaves[0].Camera;
        _center = camera.LookDirection;
        _centered = true;
    }

    _scaling = (e.MiddleButton == MouseButtonState.Pressed);

    if (Keyboard.IsKeyDown(Key.Space) == false)
        _rotating = true;
    else
        _rotating = false;

    el.CaptureMouse();
}

private void MouseUpHandler(object sender, MouseButtonEventArgs e)
{
    if (!_enabled) return;
    e.Handled = true;

    // Stuff the current initial + delta into initial so when we next move we
    // start at the right place.
    if (_rotating == true)
        _rotation = _rotationDelta * _rotation;
    else
    {
        _translate += _translateDelta;
        _translateDelta.X = 0;
        _translateDelta.Y = 0;
    }

    //_scale = _scaleDelta*_scale;
    UIElement el = (UIElement)sender;
    el.ReleaseMouseCapture();
}

.NET Framework
3.0 이후 사용 가능
Silverlight
2.0 이후 사용 가능
Windows Phone Silverlight
7.0 이후 사용 가능
맨 위로 이동
표시: