Visual.VisualScrollableAreaClip Propriété

Définition

Obtient ou définit une zone à défilement découpée pour 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)

Valeur de propriété

Nullable<Rect>

Rect qui représente la zone de découpage à défilement, ou null si aucune zone de découpage n'est assignée.A Rect that represents the scrollable clipping area, or null if no clipping area is assigned.

Remarques

Définissez la VisualScrollableAreaClip propriété pour activer le défilement accéléré lors du rendu dans le logiciel.Set the VisualScrollableAreaClip property to enable accelerated scrolling when rendering in software. Cela est utile dans les scénarios de rendu à distance, tels que l’exécution sur Bureau à distance ou l’exécution sur un ordinateur virtuel.This is useful in remote rendering scenarios, such as running over Remote Desktop or running in a virtual machine. Définissez cette propriété sur l’élément parent dont les enfants feront l’élément d’un défilement.Set this property on the parent element whose children will be scrolled. La définition de la VisualScrollableAreaClip propriété n’a aucun effet lorsque le rendu est accéléré par le matériel.Setting the VisualScrollableAreaClip property has no effect when rendering is hardware accelerated.

La VisualScrollableAreaClip propriété permet des scénarios spécifiques et avancés.The VisualScrollableAreaClip property enables specific, advanced scenarios. La liste suivante présente les avertissements qui s’appliquent lorsque vous utilisez la VisualScrollableAreaClip propriété.The following list shows the caveats that apply when you use the VisualScrollableAreaClip property.

  • L’arrière-plan de la zone défilante doit être opaque ou des artefacts de défilement se produisent.The background of the scrolled area must be opaque, or scrolling artifacts will occur.

  • La VisualScrollableAreaClip propriété accélère le défilement uniquement lorsque WPF est rendu dans le logiciel.The VisualScrollableAreaClip property accelerates scrolling only when WPF is rendering in software. Par exemple, cette situation se produit lorsque l’application est exécutée sur Bureau à distance ou exécutée localement sur une machine virtuelle.For example, this situation occurs when the application is running over Remote Desktop or running locally in a virtual machine.

  • Le comportement de défilement n’est pas modifié lors du rendu du matériel.The scrolling behavior is unchanged when rendering in hardware. Pour éviter les différences de comportement de défilement, vous devez garder la VisualScrollableAreaClip propriété activée pour le matériel et les logiciels.To prevent differences in scrolling behavior, you should keep the VisualScrollableAreaClip property enabled for both hardware and software.

  • Les transformations de rotation et d’inclinaison désactivent le défilement accéléré.Rotate and skew transforms disable accelerated scrolling. Les transformations de mise à l’échelle et les translations horizontales ou verticales au-dessus de la zone de défilement fonctionnent correctement et ne désactivent pas l’accélération du défilement.Scale transforms and horizontal or vertical translations above the scrolled region work correctly and do not disable scrolling acceleration.

  • La modification de la sous-arborescence ou du déclenchement des parties de la zone de défilement pour redessiner via l’animation se comporte comme prévu, mais perd l’avantage du défilement accéléré pour la zone redessinée.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. Toute animation qui invalide la zone défilante pendant le même frame dans lequel le défilement se produit élimine l’avantage de cette optimisation.Any animation that invalidates the scrolled area during the same frame in which scrolling occurs eliminates the benefit of this optimization.

  • Le VisualScrollableAreaClip rectangle s’aligne vers l’intérieur des pixels.The VisualScrollableAreaClip rectangle snaps inward to pixels. Par conséquent, la taille alignée du rectangle de défilement est toujours inférieure ou égale à la taille que vous avez définie.Therefore, the snapped size of the scrolling rectangle is always less than or equal to the size you have set.

  • Décalages vers le bas.Offsets snap downward. Cela signifie que la différence entre le décalage précédent et le décalage aligné actuel est toujours un nombre entier de pixels.This means that the difference of the previous snapped offset and current snapped offset is always an integer number of pixels.

  • Les tests de positionnement peuvent être désactivés jusqu’à un pixel.Hit tests can be off by up to a pixel.

  • L’arrondi de disposition doit être activé, car il garantit que les bords des zones déroulantes et de la zone cliente de la fenêtre de limites sont alignés sur les limites de pixels, ce qui donne un alignement correct.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.

  • L’accélération du défilement ne fonctionne pas sur les fenêtres superposées.Scrolling acceleration does not work on layered windows. Cela signifie Windows dans lequel AllowTransparency = = true, Window. WindowStyle = = None, et ainsi de suite.This means windows in which AllowTransparency == true, window.windowstyle == none, and so on.

  • L’accélération du défilement ne se produit pas lors du rendu de la fenêtre complète.Scrolling acceleration does not occur during full-window rendering.

  • L’accélération du défilement ne fonctionne pas lorsque la fenêtre passe à deux moniteurs.Scrolling acceleration does not work when the window straddles two monitors.

  • L’accélération du défilement ne fonctionne pas en présence de cibles de rendu intermédiaires dans la chaîne parente de l’élément défilé.Scrolling acceleration does not work in the presence of intermediate render targets in the parent chain of the scrolled element. La liste suivante présente certaines de ces cibles de rendu intermédiaires.The following list shows some of these intermediate render targets.

    • ClipsClips

    • EffetsEffects

    • DrawingBrushesDrawingBrushes

    • VisualBrushesVisualBrushes

    • OpacityMasksOpacityMasks

    • OpacityOpacity

  • Un seul défilement accéléré peut se produire par trame.Only one accelerated scroll can happen per frame. Il peut y avoir plusieurs zones de défilement accélérées, mais une seule d’entre elles peut effectuer un défilement accéléré au cours d’une image.There can be multiple accelerated scroll areas, but only one of them can perform an accelerated scroll during a frame. La zone défilante est indéterminée.Which area is scrolled is indeterminate.

  • L’accélération du défilement prend en charge le contenu au-dessus de la zone de défilement (dans l’ordre de plan) qui n’est pas défilant avec le reste du contenu.Scrolling acceleration supports content above the scrolling region (in z-order) that is not scrolled with the rest of the content. Le système calcule toutes les régions de modification nécessaires et termine le défilement accéléré, mais il envoie plusieurs bitmaps supplémentaires sur le câble pour ramener la partie déplacée involontairement à sa position correcte sur l’écran.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.

S’applique à