Point Structure

Définition

Représente des valeurs de coordonnées x et y qui définissent un point dans un plan à deux dimensions.

public value class Point
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.FoundationContract, 65536)]
struct Point
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.FoundationContract), 65536)]
public struct Point
var point = {
x : /* Your value */,
y : /* Your value */
}
Public Structure Point
<object property="X,Y"/>
-or
<object property="X Y"/>
Héritage
Point
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (introduit dans v1.0)

Remarques

Une valeur Point représente parfois un espace de coordonnées dans le plan de la fenêtre main d’une application, mais il existe d’autres interprétations possibles des valeurs de point qui peuvent varier, en fonction de la propriété qui utilise la valeur Point.

Javascript: En JavaScript, un point est un objet avec deux propriétés de données : x et y. Autre que x et y, l’API restante répertoriée ici dans les listes Membres de points (ou affichée dans la table des matières) ne s’applique pas à la programmation JavaScript.

Remarques sur la syntaxe XAML

Les valeurs de point sont largement utilisées pour les propriétés graphiques et les propriétés similaires liées à l’interface utilisateur dans l’ensemble du vocabulaire XAML pour les applications Windows Runtime.

Un espace ou une virgule peut être utilisé comme délimiteur entre les valeurs X et Y . La convention courante pour les points de coordonnées consiste à utiliser un délimiteur de virgules.

Les structures de points ne peuvent pas être déclarées en tant que ressources dans un ResourceDictionary. Une solution de contournement potentielle consiste à utiliser une ressource x:String , puis à l’injecter dans une chaîne analysée avec XamlReader.Load.

Certaines utilisations XAML utilisent le type Point pour représenter un point logique. Consultez « Points logiques » dans remarques.

Valeurs de point et comment elles sont interprétées par les propriétés

Certaines (mais pas toutes) utilisations du type Point spécifient l’emplacement dans un espace de coordonnées. Selon le contexte, l’emplacement peut se trouver dans le cadre de référence d’une zone de contenu ou se trouver dans le cadre de référence d’un élément de disposition spécifique.

X et Y pour un point peuvent être des valeurs non entières. Toutefois, cela peut introduire la possibilité d’un rendu de sous-pixels, ce qui peut modifier les couleurs et l’anti-alias n’importe quelle ligne droite le long du bord des sous-pixels. C’est ainsi que le moteur de rendu XAML traite les limites de sous-pixels. Par conséquent, pour obtenir de meilleurs résultats, utilisez des valeurs entières lors de la déclaration des coordonnées et des formes utilisées pour le positionnement et le rendu de l’interface utilisateur.

X et Y pour un point peuvent être négatifs dans certains cas. En règle générale, il en résulte un point qui spécifie une coordonnée qui se trouve délibérément en dehors du cadre de référence, sauf s’il existe une traduction supplémentaire. Toutefois, certaines propriétés XAML rejettent un point avec X ou Y négatif comme valeur non valide. Les contraintes de valeur sont généralement notées dans les pages de référence pour les propriétés.

Points logiques

Certaines utilisations du type Point dans Windows Runtime applications ne sont pas directement liées aux trames de coordonnées de référence. Au lieu de cela, il s’agit de points logiques, où la valeur de X et Y est censée être comprise entre 0 et 1 inclus. C’est l’une des raisons pour lesquelles les valeurs X et Y prennent en charge les valeurs à virgule flottante plutôt que d’être limitées aux valeurs entières. Les valeurs de points logiques sont interprétées par un contexte : la présentation ou le comportement final peut être spécifié ou modifié par une propriété ou un paramètre différent. Parfois, les points expriment des informations qui ne sont pas du tout liées à l’espace de coordonnées. Parmi les exemples du concept de point logique dans l’application, citons les valeurs de Animation.KeySpline (rythme une animation), le RenderTransformOrigin d’un UIElement et les valeurs GradientStop.Offset pour un LinearGradientBrush.

Une propriété Point-value qui est une utilisation de point logique peut invalider des valeurs inférieures à 0 ou supérieures à 1, mais les spécificités varient d’une propriété à l’autre. Les contraintes de valeur sont généralement notées dans les pages de référence pour les propriétés individuelles, plutôt qu’ici dans la référence point.

Valeurs de point et API graphique XAML

Les éléments graphiques utilisés pour définir une interface utilisateur XAML utilisent souvent des propriétés Point-valeur pour déclarer leurs caractéristiques. Par exemple, une EllipseGeometry utilise une valeur Point pour définir sa propriété Center .

Les éléments graphiques utilisent l’un des deux modèles. Certains des éléments graphiques sont dérivés de FrameworkElement. Ces éléments ont un comportement de rendu défini lorsqu’ils sont placés dans une interface utilisateur et lorsque des propriétés d’élément sont affectées. Rectangle et tous les autres types de l’espace de noms Windows.UI.Xaml.Shapes sont des exemples de ce type d’élément. Les autres éléments graphiques ne dérivent pas de FrameworkElement et n’ont pas de comportement de rendu propre. Au lieu de cela, ces éléments sont composés pour fournir la valeur d’une propriété sur un autre élément qui a un comportement de rendu. En d’autres termes, il s’agit de données pour un modèle graphique plus complet. Par exemple, les éléments graphiques que vous utilisez pour composer Path.Data, tels que LineSegment, ont souvent une propriété Point-value.

Certains éléments graphiques utilisent plusieurs valeurs Point représentées dans une seule propriété. Ces propriétés utilisent le type PointCollection . Toute propriété Windows Runtime qui prend un PointCollection prend en charge une syntaxe XAML qui analyse la chaîne d’attribut pour obtenir des valeurs X et Y pour plusieurs points. Polygon.Points est un exemple de propriété graphique qui utilise PointCollection.

Valeurs de point à partir d’événements d’entrée XAML et test d’accès

Une valeur Point est retournée par les données d’événement pour certains événements d’entrée. Par exemple, GetCurrentPoint fournit une valeur de coordonnées de l’endroit où un événement pointeur s’est produit dans l’interface utilisateur de l’application. En règle générale, ces valeurs point font référence à un certain cadre de référence de coordonnées et il est important de savoir ce que représente ce cadre de référence. Pour les événements d’entrée, le cadre de référence par défaut est la fenêtre d’application main, et non l’écran/l’affichage global. Cela permet d’obtenir un cadre de référence cohérent au cas où la fenêtre est déplacée ou redimensionnée. Certaines API telles que GetCurrentPoint et GetPosition fournissent également un moyen de traduire en un cadre de référence spécifique à un élément, ce qui est utile lors de l’utilisation d’événements d’entrée gérés par un contrôle individuel. Pour plus d’informations, consultez Gérer l’entrée de pointeur.

Le développement de l’interface utilisateur XAML a également un concept appelé test d’accès, où vous pouvez utiliser des méthodes utilitaires pour tester la façon dont les événements d’entrée signalent des informations si l’utilisateur devait effectuer une action de pointeur dans un emplacement de coordonnées particulier de l’interface utilisateur. Pour prendre en charge le concept de test de succès, 2 signatures de FindElementsInHostCoordinates utilisent un paramètre d’entrée Point, comme le fait FindSubElementsForTouchTargeting. Pour plus d’informations, voir Interactions avec la souris.

Animation des valeurs de point

Le Windows Runtime fournit un moyen d’animer les valeurs de toute propriété qui utilise un point comme valeur, tant que cette propriété est implémentée en tant que propriété de dépendance. Point a son propre type de prise en charge d’animation, car il n’est pas possible d’animer individuellement les valeurs x et y d’un point. Les structures ne peuvent pas prendre en charge les propriétés de dépendance. Utilisez le type PointAnimation pour les animations de à ou utilisez les types dérivés PointAnimationUsingKeyFrames pour le comportement de l’animation d’images clés. Pour plus d’informations sur l’animation d’une valeur Point et le fonctionnement des animations dans l’interface utilisateur XAML, consultez Animations de storyboard.

Projection et membres de Point

Si vous utilisez un langage Microsoft .NET (C# ou Microsoft Visual Basic) ou des extensions de composant Visual C++ (C++/CX), Point dispose de membres non-data disponibles et ses membres de données sont exposés en tant que propriétés en lecture-écriture, et non en tant que champs. Consultez Point dans l’explorateur d’API .NET.

Si vous programmez avec C++/WinRT ou la bibliothèque de modèles C++ Windows Runtime (WRL), seuls les champs membres de données existent en tant que membres de Point et vous ne pouvez pas utiliser les méthodes ou propriétés utilitaires de la projection .NET. Le code C++ peut accéder à des méthodes d’utilitaire similaires disponibles à partir de la classe statique PointHelper .

Ce tableau montre les méthodes équivalentes disponibles dans .NET et C++.

.NET (Point) C++ (PointHelper)
Point(Double, Double) FromCoordinates(Single, Single)

Champs

X

Position horizontale du point.

Y

Position verticale du point.

S’applique à

Voir aussi