SvgImageSource Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit un objet source pour les propriétés qui utilisent une source SVG (Scalable Vector Graphics). Vous pouvez définir un SvgImageSource à l’aide d’un URI (Uniform Resource Identifier) qui fait référence à un fichier SVG, ou en appelant SetSourceAsync(IRandomAccessStream) et en fournissant un flux.
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SvgImageSource : ImageSource
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class SvgImageSource : ImageSource
Public Class SvgImageSource
Inherits ImageSource
- Héritage
- Attributs
Exemples
Voici un exemple de définition de la source d’une image sur un fichier SVG. Étant donné qu’aucune hauteur ou largeur n’est spécifiée explicitement, la disposition de l’application détermine la taille appropriée pour que le SVG soit décodé.
<Image Source="Assets/mysvg.svg"/>
Remarques
SvgImageSource vous permet d’utiliser une source SVG à afficher à l’aide d’un ImageBrush ou directement dans un contrôle Image . SvgImageSource prend en charge le mode statique sécurisé à partir de la spécification SVG et ne prend pas en charge les animations ou les interactions. L’API Direct2D fournit la prise en charge du rendu SVG sous-jacent et pour plus d’informations sur la prise en charge des attributs et des éléments SVG spécifiques, consultez Prise en charge SVG. Pour plus d’informations sur les formats et sur l’utilisation de l’URI (Uniform Resource Identifier) pour accéder aux fichiers sources d’image provenant de ressources d’application, consultez Image et ImageBrush.
SvgImageSource représente une abstraction afin qu’une source SVG puisse être définie de manière asynchrone, mais toujours référencée dans le balisage XAML en tant que valeur de propriété, ou dans le code en tant qu’objet qui n’utilise pas la syntaxe pouvant être attendue. Lorsque vous créez un objet SvgImageSource dans le code, il n’a initialement aucune source valide. Vous devez ensuite définir sa source à l’aide de l’une des techniques suivantes :
- Utilisez le constructeur SvgImageSource(Uri) plutôt que le constructeur par défaut. Bien qu’il s’agisse d’un constructeur, vous pouvez considérer cela comme ayant un comportement asynchrone implicite : svgImageSource ne sera pas prêt à être utilisé tant qu’il ne déclenchera pas un événement Ouvert qui indique une opération d’ensemble de sources asynchrone réussie.
- Définissez la propriété UriSource . Comme avec le constructeur URI , cette action est implicitement asynchrone, et svgImageSource ne sera pas prêt à être utilisé tant qu’il ne déclenchera pas un événement Ouvert.
- Utilisez SetSourceAsync(IRandomAccessStream). Cette méthode est explicitement asynchrone. Les propriétés dans lesquelles vous pouvez utiliser un SvgImageSource, comme Source, sont conçues pour ce comportement asynchrone et ne lèvent pas d’exceptions si elles sont définies à l’aide d’un SvgImageSource qui n’a pas encore de source complète. Plutôt que de gérer les exceptions, vous devez gérer les événements OpenFailed ou Ouverts directement sur SvgImageSource ou sur le contrôle qui utilise la source (si ces événements sont disponibles sur la classe de contrôle).
Ouvert et OpenFailed s’excluent mutuellement. Un événement ou l’autre est toujours déclenché chaque fois qu’un objet SvgImageSource a sa valeur source définie ou réinitialisée.
Dimensionnement
En fonction de votre cas d’usage prévu, vous pouvez spécifier la taille d’un SvgImageSource de différentes manières :
- Utilisez les propriétés RasterizePixelHeight et RasterizePixelWidth pour spécifier une hauteur et une largeur explicites en pixels logiques pour décoder la source SVG sur.
- Si vous ne spécifiez pas de RasterizePixelHeight ou RasterizePixelWidth, la disposition de l’application dictera la taille de décodage tout en conservant le rapport d’aspect. Si aucune taille ne peut être déterminée à partir de la disposition de l’application, la source SVG est décodée à la taille maximale de la fenêtre.
Compatibilité des versions
La classe SvgImageSource n’est pas disponible avant Windows 10 version 1703. Si le paramètre « version minimale de la plateforme » de votre application dans Microsoft Visual Studio est inférieur à la « version introduite » indiquée dans le bloc Configuration requise plus loin dans cette page, vous ne pourrez pas utiliser SvgImageSource. Pour plus d’informations, consultez Code adaptatif version.
Pour éviter les exceptions lorsque votre application s’exécute sur des versions précédentes de Windows 10, ne définissez pas cette propriété en XAML ou ne l’utilisez pas sans effectuer de case activée d’exécution. Cet exemple montre comment utiliser la classe ApiInformation pour case activée la présence de cette classe avant de l’utiliser.
Constructeurs
SvgImageSource() |
Initialise une nouvelle instance de la classe SvgImageSource. |
SvgImageSource(Uri) |
Initialise une nouvelle instance de la classe SvgImageSource à l’aide de l’URI (Uniform Resource Identifier) fourni. |
Propriétés
Dispatcher |
Retourne |
DispatcherQueue |
Obtient le |
RasterizePixelHeight |
Obtient ou définit la hauteur à utiliser pour les opérations de rastérisation SVG. |
RasterizePixelHeightProperty |
Identifie la propriété de dépendance RasterizePixelHeight . |
RasterizePixelWidth |
Obtient ou définit la largeur à utiliser pour les opérations de rastérisation SVG. |
RasterizePixelWidthProperty |
Identifie la propriété de dépendance RasterizePixelWidth . |
UriSource |
Obtient ou définit l’URI (Uniform Resource Identifier) du fichier source SVG qui a généré ce SvgImageSource. |
UriSourceProperty |
Identifie la propriété de dépendance UriSource . |
Méthodes
ClearValue(DependencyProperty) |
Efface la valeur locale d’une propriété de dépendance. (Hérité de DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
Retourne toute valeur de base établie pour une propriété de dépendance, qui s’applique dans les cas où une animation n’est pas active. (Hérité de DependencyObject) |
GetValue(DependencyProperty) |
Retourne la valeur effective actuelle d’une propriété de dépendance à partir d’un objet DependencyObject. (Hérité de DependencyObject) |
ReadLocalValue(DependencyProperty) |
Retourne la valeur locale d’une propriété de dépendance, si une valeur locale est définie. (Hérité de DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Inscrit une fonction de notification pour écouter les modifications apportées à un DependencyProperty spécifique sur ce instance DependencyObject. (Hérité de DependencyObject) |
SetSourceAsync(IRandomAccessStream) |
Définit le SVG source pour un SvgImageSource en accédant à un flux et en traitant le résultat de manière asynchrone. |
SetValue(DependencyProperty, Object) |
Définit la valeur locale d’une propriété de dépendance sur un DependencyObject. (Hérité de DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Annule une notification de modification précédemment inscrite en appelant RegisterPropertyChangedCallback. (Hérité de DependencyObject) |
Événements
Opened |
Se produit lorsque la source SVG est téléchargée et décodée sans échec. |
OpenFailed |
Se produit lorsqu’une erreur est associée à la récupération ou au format SVG. |