SystemBackdrop Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Базовый класс для пользовательских системных фонов, используемых для отрисовки таких материалов, как Mica и Акрил.
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
- Наследование
- Производный
- Атрибуты
Примеры
В этом примере показан пользовательский класс фона системы, реализованный с помощью MicaController.
Вызов базового метода OnTargetConnected инициализирует объект конфигурации по умолчанию, возвращаемый Командлетом GetDefaultSystemBackdropConfiguration , для отражения изменений среды, влияющих на этот SystemBackdrop
экземпляр (задается параметром connectedTarget, XamlRoot
).
Хотя пример на этой странице не поддерживает совместное использование MicaSystemBackdrop
экземпляров (например, Window1.SystemBackdrop = Window2.SystemBackdrop = myMicaSystemBackdrop
), такой общий доступ возможен и поддерживается встроенными MicaBackdrop
материалами и DesktopAcrylicBackdrop
. Чтобы реализовать общий доступ в пользовательском материале, векторизируйте резервное хранилище ISystemBackdropController , чтобы сохранить отдельный экземпляр для каждого контекста использования (например, с помощью карты, ключом к connectedTarget
). Обратите внимание, что аналогичным образом векторизирует связанные объекты конфигурации по умолчанию, возвращаемые Командлетом GetDefaultSystemBackdropConfiguration, гарантируя, что SystemBackdrop
конфигурация отражает каждый контекст использования при SystemBackdrop
совместном использовании.
<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;
}
}
Комментарии
Используйте этот класс для создания настраиваемого системного фона. Вы не создаете этот класс напрямую (обратите внимание на защищенный конструктор). Вместо этого укажите его подкласс, чтобы добавить настраиваемую поддержку. Можно также использовать один из встроенных производных классов MicaBackdrop и DesktopAcrylicBackdrop.
Как правило, пользовательский материал переопределяет OnTargetConnected для создания и настройки резервного ISystemBackdropController, который будет управлять CompositionBrush , используемым для заполнения области фона. На конечную отрисовку пикселей кисти влияют:
- среда или политика, заданные с помощью SystemBackdropConfiguration
- параметры внешнего вида материала, предоставляемые с помощью общих свойств, таких как ISystemBackdropControllerWithTargets.State (
Active
/Fallback
/HighContrast
), и свойств для конкретных материалов, таких как MicaController.Kind ().Base
/BaseAlt
Встроенные контроллеры (MicaController и DesktopAcrylicController) поддерживают следующие параметры для настройки внешнего вида: FallbackColor
, LuminosityOpacity
, TintColor
и TintOpacity
. Встроенные системные фоны (MicaBackdrop и DesktopAcrylicBackdrop) не предоставляют FallbackColor
или свойства настройки материала (TintOpacity
и т. д.). Вместо этого они используют конфигурации по умолчанию Light/Dark базовых MicaController
и DesktopAcrylicController
. Чтобы настроить эти свойства, создайте пользовательский класс материала, который является производным от SystemBackdrop
, и предоставляет требуемые свойства.
Конструкторы
SystemBackdrop() |
Инициализирует новый экземпляр класса |
Свойства
Dispatcher |
Всегда возвращает в |
DispatcherQueue |
Возвращает объект , |
Методы
ClearValue(DependencyProperty) |
Очищает локальное значение свойства зависимостей. (Унаследовано от DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
Возвращает любое базовое значение, установленное для свойства зависимостей, которое применяется в случаях, когда анимация не активна. (Унаследовано от DependencyObject) |
GetDefaultSystemBackdropConfiguration(ICompositionSupportsSystemBackdrop, XamlRoot) |
Извлекает объект по умолчанию |
GetValue(DependencyProperty) |
Возвращает текущее действующее значение свойства зависимостей из DependencyObject. (Унаследовано от DependencyObject) |
OnDefaultSystemBackdropConfigurationChanged(ICompositionSupportsSystemBackdrop, XamlRoot) |
Переопределите этот метод для вызова при изменении объекта, возвращаемого методом |
OnTargetConnected(ICompositionSupportsSystemBackdrop, XamlRoot) |
Вызывается при присоединении этого объекта к допустимому контейнеру; Например, если задано значение . |
OnTargetDisconnected(ICompositionSupportsSystemBackdrop) |
Вызывается при очистке этого объекта из контейнера. |
ReadLocalValue(DependencyProperty) |
Возвращает локальное значение свойства зависимостей, если задано локальное значение. (Унаследовано от DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Регистрирует функцию уведомления для прослушивания изменений определенного DependencyProperty в этом экземпляре DependencyObject . (Унаследовано от DependencyObject) |
SetValue(DependencyProperty, Object) |
Задает локальное значение свойства зависимостей для Объекта DependencyObject. (Унаследовано от DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Отменяет уведомление об изменениях, которое было ранее зарегистрировано путем вызова Метода RegisterPropertyChangedCallback. (Унаследовано от DependencyObject) |