Partage via


XamlLight Classe

Définition

Fournit une classe de base utilisée pour créer des lumières XAML qui utilisent un Objet CompositionLight pour appliquer des effets d’éclairage aux éléments et aux pinceaux XAML.

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 262144)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class XamlLight : DependencyObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 262144)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class XamlLight : DependencyObject
Public Class XamlLight
Inherits DependencyObject
Héritage
Object IInspectable DependencyObject XamlLight
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 Creators Update (introduit dans 10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v4.0)

Exemples

Consultez l’exemple de code dans Éclairage.

Remarques

Vous pouvez utiliser XamlLight pour créer des lumières personnalisées.

Par exemple, il peut être utilisé pour créer une lumière qui applique une composition SpotLight aux éléments cibles afin de les éclairer.

XamlLight fournit des méthodes pour cibler des éléments UIElements ou des pinceaux XAML, appliquer des lumières aux arborescences d’UIElements et aider à gérer la durée de vie des ressources CompositionLight selon qu’elles sont en cours d’utilisation.

Les xamlLights personnalisés peuvent être utilisés conjointement avec des pinceaux personnalisés dérivés de XamlCompositionBrushBase qui utilisent un SceneLightingEffect pour contrôler les propriétés réfléchissantes des éléments lorsqu’ils sont allumés par un xamlLight.

Ciblage d’objets

Si vous ciblez un pinceau avec un XamlLight, les parties de tous les éléments UIElements utilisant ce pinceau seront éclairées par la lumière.

Si vous ciblez un UIElement avec un élément XamlLight, l’ensemble de l’UIElement et ses uiElements enfants seront tous éclairés par la lumière.

Vous pouvez ajouter et supprimer des cibles en appelant des méthodes sur un instance XamlLight. XamlLights peut également définir des propriétés jointes personnalisées pour ajouter et supprimer des cibles du balisage.

Gestion des ressources

Lors de la création d’un objet XamlLight, il est généralement recommandé de retarder la création d’un Objet CompositionLight et de toutes les ressources associées jusqu’à ce que la lumière soit utilisée. La méthode OnConnected est appelée lorsqu’un xamlLight est utilisé pour la première fois pour cibler un élément ou un pinceau à l’écran. Vous pouvez donc remplacer OnConnected pour créer des ressources en toute sécurité uniquement lorsqu’elles sont nécessaires.

Il est également recommandé de supprimer les ressources de composition lorsqu’elles ne sont plus utilisées. La méthode OnDisconnected est appelée lorsqu’un instance XamlLight n’est plus utilisé n’importe où à l’écran. Vous pouvez donc remplacer OnDisconnected pour supprimer en toute sécurité les ressources. Si xamlLight est réutilisé ultérieurement après avoir été déconnecté, OnConnected est appelé à nouveau.

Avertissement

Sur Windows 10 Creators Update (SDK 15063), CompositionLight n’est pas accessible après l’appel de Dispose. Par conséquent, le fait de lui affecter la valeur Null après l’appel de Dispose entraîne une erreur. Pour contourner ce problème, vous pouvez enregistrer compositionLight dans une variable temporaire et appeler Dispose sur cette après avoir défini CompositionLight sur null. var temp = CompostionLight; CompositionLight = null; temp.Dispose(); Ce problème est résolu dans les versions ultérieures du Kit de développement logiciel (SDK). Pour plus d’informations sur la façon de cibler différentes versions du SDK, consultez Applications adaptatives de version.

Constructeurs

XamlLight()

Initialise une nouvelle instance de la classe XamlLight.

Propriétés

CompositionLight

Obtient ou définit les instance CompositionLight utilisées pour appliquer des effets d’éclairage.

Dispatcher

Obtient le CoreDispatcher auquel cet objet est associé. CoreDispatcher représente une fonctionnalité qui peut accéder à DependencyObject sur le thread d’interface utilisateur, même si le code est initié par un thread autre que l’interface utilisateur.

(Hérité de DependencyObject)

Méthodes

AddTargetBrush(String, Brush)

Définit un pinceau comme cible d’un XamlLight.

AddTargetElement(String, UIElement)

Définit un élément UIElement comme cible d’un objet XamlLight.

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’appliquerait dans les cas où une animation n’est pas active.

(Hérité de DependencyObject)
GetId()

Retourne l’identificateur du type XamlLight personnalisé.

Dans la plupart des cas, vous devez utiliser un identificateur unique pour éviter les conflits. Par exemple, vous pouvez utiliser le FullName de votre type XamlLight personnalisé.

L’identificateur est utilisé pour ajouter et supprimer pinceaux et UIElements en tant que cibles pour un type de lumière spécifique.

GetValue(DependencyProperty)

Retourne la valeur effective actuelle d’une propriété de dépendance à partir d’un DependencyObject.

(Hérité de DependencyObject)
OnConnected(UIElement)

Cette méthode est automatiquement appelée lorsque xamlLight est utilisé pour la première fois à l’écran, ou après avoir été précédemment déconnecté, puis réutilisé.

Cela permet de créer des ressources telles que CompositionLight uniquement lorsque cela est nécessaire.

OnDisconnected est appelé lorsque XamlLight n’est plus utilisé pour allumer des éléments UIElements ou des pinceaux.

OnDisconnected(UIElement)

Cette méthode est automatiquement appelée lorsque XamlLight n’est plus utilisé n’importe où à l’écran.

Cela permet de supprimer en toute sécurité des ressources telles que CompositionLight lorsqu’elles ne sont pas nécessaires.

OnConnected est appelé à nouveau si xamlLight est utilisé ultérieurement pour allumer des éléments UIElements ou des pinceaux après avoir été déconnectés.

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)
RemoveTargetBrush(String, Brush)

Empêche un pinceau d’être une cible d’un XamlLight.

RemoveTargetElement(String, UIElement)

Empêche un UIElement d’être une cible d’un objet XamlLight.

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)

S’applique à

Voir aussi