Langage

XamlLight Classe

Définition

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

/// [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 XamlLight : DependencyObject
[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 XamlLight : DependencyObject
Public Class XamlLight
Inherits DependencyObject
Héritage
Object IInspectable DependencyObject XamlLight
Attributs

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 pour 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 en fonction de leur 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 xamlLight, les parties de tous les uiElements utilisant ce pinceau seront allumées par la lumière.

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

Les cibles peuvent être ajoutées et supprimées en appelant des méthodes sur une 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 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 cibler un élément ou un pinceau à l’écran. Vous pouvez donc remplacer OnConnected pour créer des ressources en toute sécurité uniquement quand 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’une instance XamlLight n’est plus utilisée n’importe où sur l’écran. Vous pouvez donc remplacer OnDisconnected pour supprimer en toute sécurité les ressources. Si XamlLight est utilisé ultérieurement après avoir été déconnecté, OnConnected est appelé à nouveau.

Warning

Sur Windows 10 Creators Update (SDK 15063), CompositionLight n'est pas accessible après l'appel de Dispose. Par conséquent, la définition de la valeur Null après l'appel de Dispose provoque une erreur. Pour contourner ce problème, vous pouvez enregistrer CompositionLight dans une variable temporaire et appeler Dispose sur celui-ci après avoir défini CompositionLight sur Null. var temp = CompositionLight; 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 Kit de développement logiciel (SDK), consultez Versions adaptatives .

Constructeurs

Nom Description
XamlLight()

Initialise une nouvelle instance de la classe XamlLight .

Propriétés

Nom Description
CompositionLight

Obtient ou définit l’instance CompositionLight utilisée pour appliquer des effets d’éclairage.

Dispatcher

Retourne null toujours dans une application du Kit de développement logiciel (SDK) d’application Windows. Utilisez DispatcherQueue à la place.

(Hérité de DependencyObject)
DispatcherQueue

Obtient le DispatcherQueue résultat auquel cet objet est associé. Représente DispatcherQueue une installation qui peut accéder au DependencyObject thread d’interface utilisateur même si le code est initié par un thread non-interface utilisateur.

(Hérité de DependencyObject)

Méthodes

Nom Description
AddTargetBrush(String, Brush)

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

AddTargetElement(String, UIElement)

Définit un UIElement comme cible d’un 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’applique 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 nom complet de votre type XamlLight personnalisé.

L’identificateur est utilisé pour ajouter et supprimer des pinceaux et des 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 sur l’écran, ou après avoir été précédemment déconnecté, puis utilisé à nouveau.

Cela permet de créer des ressources telles que CompositionLight uniquement si nécessaire.

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

OnDisconnected(UIElement)

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

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

OnConnected est appelé à nouveau si XamlLight est utilisé ultérieurement pour allumer les éléments UIElements ou 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 à une dependencyProperty spécifique sur cette 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 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 qui a été précédemment inscrite en appelant RegisterPropertyChangedCallback.

(Hérité de DependencyObject)

S’applique à

Voir aussi