Mise à jour : novembre 2007
Représente un arc elliptique entre deux points.
Espace de noms :
System.Windows.Media Assembly :
PresentationCore (dans PresentationCore.dll)
XMLNS pour XAML : http://schemas.microsoft.com/winfx/xaml/presentation
Visual Basic (Déclaration)
Public NotInheritable Class ArcSegment _
Inherits PathSegment
Visual Basic (Utilisation)
Dim instance As ArcSegment
public sealed class ArcSegment : PathSegment
public ref class ArcSegment sealed : public PathSegment
public final class ArcSegment extends PathSegment
public final class ArcSegment extends PathSegment
Utilisation des éléments objets XAML
Utilisez un objet PathFigure pour stocker des objets ArcSegment et d'autres segments.
Un arc elliptique est défini par un point de départ et un point de terminaison, un rayon x et un rayon y, le facteur de rotation de l'axe des abscisses, une valeur qui indique si l'arc doit être supérieur à 180 degrés et une valeur qui décrit la direction dans laquelle l'arc est dessiné. La classe ArcSegment ne contient pas de propriété pour le point de départ de l'arc ; elle se contente de définir le point de destination de l'arc qu'elle représente. Le point de début de l'arc correspond au point actuel du PathFigure auquel l'ArcSegment est ajouté.
Les illustrations suivantes montrent les différents paramètres du point de terminaison, du Size et du RotationAngle.
.png)
.png)
.png)
IsLargeArc et SweepDirection
En fonction de leur position, de leur taille et de leur rotation, la plupart des arcs peuvent être dessinés de quatre façons différentes ; les propriétés IsLargeArc et SweepDirection indiquent l'arc à utiliser.
Sur les quatre balayages d'arc possibles, deux représentent de grands arcs (à partir de 180 degrés) et deux représentent de plus petits arcs (jusqu'à 180 degrés). Si IsLargeArc a la valeur true, c'est l'un des deux plus grands balayages d'arc qui est alors choisi ; si sa valeur est par contre false, c'est l'un des deux plus petits balayages d'arc qui est alors choisi. Les deux arcs possibles restants sont chacun dessinés dans une direction différente : Counterclockwise ou Clockwise. La propriété SweepDirection spécifie celle à utiliser.
Les illustrations suivantes montrent différents paramètres IsLargeArc et SweepDirection.
Objets ArcSegment avec différents paramètres IsLargeArc
.png)
Objets ArcSegment avec différents paramètres SweepDirection
.png)
Fonctionnalités Freezable
Cet exemple montre comment dessiner un arc elliptique. Pour créer un arc elliptique, utilisez les classes PathGeometry, PathFigure et ArcSegment.
Dans les exemples suivants, un arc elliptique est dessiné de (10,100) à (200,100). L'arc a une Size de 100 par 50 pixels indépendants du périphérique, un RotationAngle de 45 degrés, un paramètre IsLargeArc de valeur true, et un SweepDirection de valeur Counterclockwise.
xamlEn XAML (Extensible Application Markup Language), vous pouvez utiliser la syntaxe d'attribut pour décrire un chemin.
<Path Stroke="Black" StrokeThickness="1"
Data="M 10,100 A 100,50 45 1 0 200,100" />
xaml(Notez que cette syntaxe d'attribut crée en fait un StreamGeometry, version allégée d'un PathGeometry. Pour plus d'informations, consultez la page Syntaxe XAML pour les tracés.)
En XAML, vous pouvez également dessiner un arc elliptique en utilisant explicitement des balises d'objet. Les éléments suivants sont équivalents au balisage XAML précédent.
<Path Stroke="Black" StrokeThickness="1">
<Path.Data>
<PathGeometry>
<PathGeometry.Figures>
<PathFigureCollection>
<PathFigure StartPoint="10,100">
<PathFigure.Segments>
<PathSegmentCollection>
<ArcSegment Size="100,50" RotationAngle="45" IsLargeArc="True" SweepDirection="CounterClockwise" Point="200,100" />
</PathSegmentCollection>
</PathFigure.Segments>
</PathFigure>
</PathFigureCollection>
</PathGeometry.Figures>
</PathGeometry>
</Path.Data>
</Path>
Cet exemple est extrait d'un exemple plus complet. Pour obtenir l'exemple complet, consultez Géométries, exemple.
System..::.Object
System.Windows.Threading..::.DispatcherObject
System.Windows..::.DependencyObject
System.Windows..::.Freezable
System.Windows.Media.Animation..::.Animatable
System.Windows.Media..::.PathSegment
System.Windows.Media..::.ArcSegment
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Windows Vista
Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
.NET Framework
Pris en charge dans : 3.5, 3.0
Référence
Autres ressources