SystemBackdrop Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Clase base para los fondos del sistema personalizados que se usan para representar materiales como Mica y Acrylic.
public ref class SystemBackdrop : DependencyObject
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 262144)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SystemBackdrop : DependencyObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 262144)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class SystemBackdrop : DependencyObject
Public Class SystemBackdrop
Inherits DependencyObject
- Herencia
- Derivado
- Atributos
Ejemplos
En este ejemplo se muestra una clase de fondo del sistema personalizada que se implementa mediante MicaController.
Al llamar al método OnTargetConnected base, se inicializa el objeto de configuración predeterminado devuelto por GetDefaultSystemBackdropConfiguration para reflejar los cambios de entorno que afectan a esta SystemBackdrop
instancia (especificada por connectedTarget, XamlRoot
).
Aunque el ejemplo de esta página no admite el uso compartido MicaSystemBackdrop
de instancias (por ejemplo, Window1.SystemBackdrop = Window2.SystemBackdrop = myMicaSystemBackdrop
), este uso compartido es posible y es compatible con los materiales y DesktopAcrylicBackdrop
integradosMicaBackdrop
. Para implementar el uso compartido en un material personalizado, vectorice el almacenamiento ISystemBackdropController de respaldo para mantener una instancia independiente para cada contexto de uso (por ejemplo, a través de una asignación con clave en connectedTarget
). Tenga en cuenta que, de forma similar, vectoriza los objetos de configuración predeterminados asociados devueltos por GetDefaultSystemBackdropConfiguration, lo que garantiza que SystemBackdrop
la configuración refleje cada contexto de uso cuando SystemBackdrop
se comparte.
<Window
... >
<Window.SystemBackdrop>
<local:MicaSystemBackdrop/>
</Window.SystemBackdrop>
<!-- XAML content -->
</Window>
public class MicaSystemBackdrop : SystemBackdrop
{
MicaController micaController;
protected override void OnTargetConnected(ICompositionSupportsSystemBackdrop connectedTarget, XamlRoot xamlRoot)
{
// Call the base method to initialize the default configuration object.
base.OnTargetConnected(connectedTarget, xamlRoot);
// This example does not support sharing MicaSystemBackdrop instances.
if (micaController is not null)
{
throw new Exception("This controller cannot be shared");
}
micaController = new MicaController();
// Set configuration.
SystemBackdropConfiguration defaultConfig = GetDefaultSystemBackdropConfiguration(connectedTarget, xamlRoot);
micaController.SetSystemBackdropConfiguration(defaultConfig);
// Add target.
micaController.AddSystemBackdropTarget(connectedTarget);
}
protected override void OnTargetDisconnected(ICompositionSupportsSystemBackdrop disconnectedTarget)
{
base.OnTargetDisconnected(disconnectedTarget);
micaController.RemoveSystemBackdropTarget(disconnectedTarget);
micaController = null;
}
}
Comentarios
Use esta clase para crear un telón de fondo del sistema personalizado. Esta clase no se crea directamente (tenga en cuenta el constructor protegido). En su lugar, la subclase para agregar la compatibilidad personalizada. También puede usar una de las clases derivadas integradas, MicaBackdrop y DesktopAcrylicBackdrop.
Por lo general, el material personalizado invalida OnTargetConnected para crear y configurar un ISystemBackdropController de respaldo, que administrará el CompositionBrush usado para rellenar la región de fondo. La representación definitiva de píxeles del pincel se ve afectada por:
- el entorno o la directiva establecidos a través de SystemBackdropConfiguration
- los parámetros de apariencia del material, expuestos a través de propiedades generales como ISystemBackdropControllerWithTargets.State (
Active
HighContrast
/Fallback
/) y propiedades específicas del material como MicaController.Kind (Base
/BaseAlt
).
Los controladores integrados (MicaController y DesktopAcrylicController) admiten los parámetros siguientes para personalizar su apariencia: FallbackColor
, LuminosityOpacity
, TintColor
y TintOpacity
. Los fondos del sistema integrados (MicaBackdrop y DesktopAcrylicBackdrop) no exponen FallbackColor
ni las propiedades de personalización del material (TintOpacity
, etc.). En su lugar, se basan en las configuraciones predeterminadas claro/oscuro de los subyacentes MicaController
y DesktopAcrylicController
. Para personalizar estas propiedades, cree una clase de material personalizada que derive de SystemBackdrop
y exponga las propiedades deseadas.
Constructores
SystemBackdrop() |
Inicializa una nueva instancia de la clase |
Propiedades
Dispatcher |
Siempre devuelve |
DispatcherQueue |
Obtiene el objeto |
Métodos
ClearValue(DependencyProperty) |
Borra el valor local de una propiedad de dependencia. (Heredado de DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
Devuelve cualquier valor base establecido para una propiedad de dependencia, que se aplicaría en los casos en los que una animación no está activa. (Heredado de DependencyObject) |
GetDefaultSystemBackdropConfiguration(ICompositionSupportsSystemBackdrop, XamlRoot) |
Recupera un objeto predeterminado |
GetValue(DependencyProperty) |
Devuelve el valor efectivo actual de una propiedad de dependencia de dependencyObject. (Heredado de DependencyObject) |
OnDefaultSystemBackdropConfigurationChanged(ICompositionSupportsSystemBackdrop, XamlRoot) |
Invalide este método al que se llamará cuando cambie el objeto devuelto por |
OnTargetConnected(ICompositionSupportsSystemBackdrop, XamlRoot) |
Se llama cuando este objeto está asociado a un contenedor válido; por ejemplo, cuando se establece en |
OnTargetDisconnected(ICompositionSupportsSystemBackdrop) |
Se llama cuando este objeto se borra de su contenedor. |
ReadLocalValue(DependencyProperty) |
Devuelve el valor local de una propiedad de dependencia, si se establece un valor local. (Heredado de DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Registra una función de notificación para escuchar los cambios en una dependencyProperty específica en esta instancia de DependencyObject . (Heredado de DependencyObject) |
SetValue(DependencyProperty, Object) |
Establece el valor local de una propiedad de dependencia en dependencyObject. (Heredado de DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Cancela una notificación de cambio registrada anteriormente llamando a RegisterPropertyChangedCallback. (Heredado de DependencyObject) |