문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문
이 설명서는 보관되지만 유지 되지 않습니다.

UIElement.CaptureMouse 메서드

이 요소가 마우스를 캡처하게 합니다.

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

public bool CaptureMouse()

반환 값

형식: System.Boolean
마우스가 캡처되면 true이고, 그렇지 않으면 false입니다.

구현

IInputElement.CaptureMouse()

요소를 캡처하려면 먼저 활성화해야 합니다. CaptureMouse 를 호출하기 전에 IsEnabledtrue인지 확인하십시오.

CaptureMouse 를 호출하여 true가 반환되면 IsMouseCapturedtrue입니다.

CaptureMouse 를 호출하여 true가 반환되면 GotMouseCaptureIsMouseCapturedChanged 이벤트가 발생하며 이벤트 데이터의 RoutedEventArgs.SourceCaptureMouse 메서드가 호출되는 요소로 보고됩니다. 캡처를 강제로 적용하면 기존 캡처, 특히 마우스를 사용한 끌어서 놓기와 관련된 캡처와 충돌할 수 있습니다.

모든 요소에서 마우스 캡처를 지우려면 null로 제공되는 element 매개 변수를 사용하여 Mouse.Capture를 호출합니다.

다음 예제에서는 마우스를 캡처 및 캡처 해제하고 3차원 모델을 보기 위한 특수 마우스 모드를 활성화하는 마우스 및 키 입력 조합에 대한 처리기 쌍을 구현합니다.


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

4, 3.5, 3.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

Windows 7, Windows Vista SP1 이상, Windows XP SP3, Windows Server 2008(Server Core는 지원되지 않음), Windows Server 2008 R2(Server Core는 SP1 이상에서 지원됨), Windows Server 2003 SP2

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.
표시: