Visual.VisualScrollableAreaClip 속성

정의

Visual의 스크롤할 수 있는 클리핑된 영역을 가져오거나 설정합니다.Gets or sets a clipped scrollable area for the Visual.

public:  property Nullable<System::Windows::Rect> VisualScrollableAreaClip {  protected public:
Nullable<System::Windows::Rect> get(); protected:
 void set(Nullable<System::Windows::Rect> value); };
public System.Windows.Rect? VisualScrollableAreaClip { protected internal get; protected set; }
member this.VisualScrollableAreaClip : Nullable<System.Windows.Rect> with get, set
Public Property VisualScrollableAreaClip As Nullable(Of Rect)

속성 값

Nullable<Rect>

스크롤할 수 있는 클리핑 영역을 나타내는 Rect이거나 클리핑 영역이 할당되지 않은 경우 null입니다.A Rect that represents the scrollable clipping area, or null if no clipping area is assigned.

설명

VisualScrollableAreaClip소프트웨어에서 렌더링할 때 가속 스크롤이 가능 하도록 속성을 설정 합니다.Set the VisualScrollableAreaClip property to enable accelerated scrolling when rendering in software. 원격 데스크톱에서 실행 하거나 가상 머신에서 실행 하는 것과 같은 원격 렌더링 시나리오에서 유용 합니다.This is useful in remote rendering scenarios, such as running over Remote Desktop or running in a virtual machine. 자식을 스크롤할 부모 요소에 대해이 속성을 설정 합니다.Set this property on the parent element whose children will be scrolled. VisualScrollableAreaClip렌더링을 하드웨어 가속으로 설정 하는 경우 속성을 설정 해도 아무런 효과가 없습니다.Setting the VisualScrollableAreaClip property has no effect when rendering is hardware accelerated.

VisualScrollableAreaClip속성을 사용 하면 특정 고급 시나리오를 사용할 수 있습니다.The VisualScrollableAreaClip property enables specific, advanced scenarios. 다음 목록에서는 속성을 사용할 때 적용 되는 주의 사항을 보여 줍니다 VisualScrollableAreaClip .The following list shows the caveats that apply when you use the VisualScrollableAreaClip property.

  • 스크롤 된 영역의 배경은 불투명 하거나 스크롤 아티팩트가 발생 합니다.The background of the scrolled area must be opaque, or scrolling artifacts will occur.

  • VisualScrollableAreaClip속성은 WPF가 소프트웨어에서 렌더링 하는 경우에만 스크롤을 가속화 합니다.The VisualScrollableAreaClip property accelerates scrolling only when WPF is rendering in software. 예를 들어,이 경우 애플리케이션은 원격 데스크톱을 통해 실행 하거나 가상 컴퓨터에서 로컬로 실행할 때 발생 합니다.For example, this situation occurs when the application is running over Remote Desktop or running locally in a virtual machine.

  • 하드웨어에서 렌더링 하는 경우 스크롤 동작은 변경 되지 않습니다.The scrolling behavior is unchanged when rendering in hardware. 스크롤 동작의 차이를 방지 하려면 VisualScrollableAreaClip 하드웨어 및 소프트웨어 모두에 대해 속성을 사용 하도록 설정 된 상태로 유지 해야 합니다.To prevent differences in scrolling behavior, you should keep the VisualScrollableAreaClip property enabled for both hardware and software.

  • 회전 및 기울이기 변환은 가속 스크롤을 사용 하지 않습니다.Rotate and skew transforms disable accelerated scrolling. 스크롤 된 영역 위에 있는 크기 조정 변환과 가로 또는 세로 번역이 제대로 작동 하며 스크롤 가속을 사용 하지 않도록 설정 하지 않습니다.Scale transforms and horizontal or vertical translations above the scrolled region work correctly and do not disable scrolling acceleration.

  • 애니메이션을 통해 애니메이션을 통해 다시 그리도록 스크롤할 수 있는 영역의 하위 트리 또는 트리거를 변경 하면 예상 대로 동작 하지만 다시 그려진 영역에 대 한 가속 스크롤의 이점을 잃게 됩니다.Changing the subtree or triggering parts of the scrollable area to redraw via animation behave as expected, but lose the benefit of accelerated scrolling for the redrawn area. 스크롤이 발생 하는 동일한 프레임에서 스크롤 된 영역을 무효화 하는 애니메이션은 이러한 최적화의 이점을 제거 합니다.Any animation that invalidates the scrolled area during the same frame in which scrolling occurs eliminates the benefit of this optimization.

  • VisualScrollableAreaClip사각형은 픽셀에 맞게 맞춰집니다.The VisualScrollableAreaClip rectangle snaps inward to pixels. 따라서 스크롤 사각형의 맞춤 크기는 설정 된 크기 보다 항상 작거나 같습니다.Therefore, the snapped size of the scrolling rectangle is always less than or equal to the size you have set.

  • 오프셋을 아래로 맞춥니다.Offsets snap downward. 즉, 이전에 맞춰진 오프셋과 현재 스냅 된 오프셋의 차이가 항상 정수 픽셀 수입니다.This means that the difference of the previous snapped offset and current snapped offset is always an integer number of pixels.

  • 적중 테스트는 최대 픽셀까지 해제할 수 있습니다.Hit tests can be off by up to a pixel.

  • 레이아웃 반올림은 스크롤할 수 있는 영역과 경계 창 클라이언트 영역의 가장자리가 픽셀 경계에 스냅 되어 올바른 맞춤이 되도록 하기 때문에 설정 되어야 합니다.Layout rounding should be turned on, because it ensures that the edges of scrollable areas and the boundary window client area are snapped to pixel boundaries, resulting in correct alignment.

  • 계층화 된 창에서는 스크롤 가속이 작동 하지 않습니다.Scrolling acceleration does not work on layered windows. 즉, windows에서 AllowTransparency = = true, system.windows.window.windowstyle = = none 등을 의미 합니다.This means windows in which AllowTransparency == true, window.windowstyle == none, and so on.

  • 스크롤 가속은 전체 창 렌더링 중에 발생 하지 않습니다.Scrolling acceleration does not occur during full-window rendering.

  • 창이 두 개의 모니터를 cmio 하면 스크롤 가속이 작동 하지 않습니다.Scrolling acceleration does not work when the window straddles two monitors.

  • 스크롤 가속은 스크롤 된 요소의 부모 체인에 중간 렌더링 대상이 있을 때 작동 하지 않습니다.Scrolling acceleration does not work in the presence of intermediate render targets in the parent chain of the scrolled element. 다음 목록에서는 이러한 중간 렌더링 대상 중 일부를 보여 줍니다.The following list shows some of these intermediate render targets.

    • ClipsClips

    • 효과Effects

    • DrawingBrushesDrawingBrushes

    • VisualBrushesVisualBrushes

    • OpacityMasksOpacityMasks

    • 불투명도Opacity

  • 프레임당 하나의 가속 스크롤이 발생할 수 있습니다.Only one accelerated scroll can happen per frame. 가속 스크롤 영역이 여러 개 있을 수 있지만 그 중 하나만 프레임에서 가속 스크롤을 수행할 수 있습니다.There can be multiple accelerated scroll areas, but only one of them can perform an accelerated scroll during a frame. 어떤 영역이 스크롤 되는지는 결정 되지 않습니다.Which area is scrolled is indeterminate.

  • 스크롤 가속은 나머지 내용으로 스크롤되지 않는 스크롤 영역 (z 순서) 위의 콘텐츠를 지원 합니다.Scrolling acceleration supports content above the scrolling region (in z-order) that is not scrolled with the rest of the content. 시스템은 필요한 더티 영역을 모두 계산 하 고 가속 스크롤을 완료 하지만 네트워크를 통해 여러 개의 추가 비트맵을 전송 하 여 실수로 스크롤 된 부분을 화면에서 올바른 위치로 다시 이동 합니다.The system calculates all necessary dirty regions and completes the accelerated scroll, but it sends several additional bitmaps over the wire to move the unintentionally scrolled portion back to its correct position on screen.

적용 대상