Поделиться через


ThemeShadow Класс

Определение

ThemeShadow — это предварительно настроенный эффект тени, который можно применить к любому элементу XAML для рисовать тени соответствующим образом на основе координат x, y, z. ThemeShadow также автоматически настраивается для других спецификаций среды:

  • адаптируется к изменениям в освещении, пользовательской теме, среде приложения и оболочке;
  • Автоматически теняет элементы в зависимости от их высоты.
  • обеспечивает синхронизацию элементов при их перемещении и изменении их высоты;
  • обеспечивает согласованность теней во всех приложениях и между ними.
/// [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 ThemeShadow : Shadow
[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 ThemeShadow : Shadow
Public Class ThemeShadow
Inherits Shadow
Наследование
Object IInspectable DependencyObject Shadow ThemeShadow
Атрибуты

Примеры

Совет

Дополнительные сведения, рекомендации по проектированию и примеры кода см. в разделе Z-глубина и тень.

Комментарии

Совет

Дополнительные сведения, рекомендации по проектированию и примеры кода см. в разделе Z-глубина и тень.

ThemeShadow можно применить к любому элементу XAML для рисования теней на основе относительных координат x, y и z между концептуальным элементом UIElement и одним или несколькими элементами UIElement приемника, на которых отображается тень заклинателя.

ThemeShadow поддерживает только прямоугольные тени. Для пользовательских эффектов тени можно использовать DropShadow.

ThemeShadows в всплывающих окнах

Класс ThemeShadow автоматически создаст отбрасываемые тени при применении к любому элементу XAML во всплывающем окне. Этот элемент будет отбрасывать тень на фоновое содержимое приложения позади себя и на любые другие открытые всплывающие окна под ним.

Чтобы использовать ThemeShadow с popups, используйте свойство UIElement.Shadow , чтобы применить ThemeShadow к элементу XAML. Затем повысьте уровень элемента из других элементов, лежащих за ним, например с помощью компонента z свойства UIElement.Translation . Для большинства всплывающих элементов интерфейса рекомендуемая высота по умолчанию относительно фонового содержимого приложения составляет 32 эффективных пикселя.

ThemeShadow в других элементах

Чтобы создать тень от элемента XAML, который отсутствует во всплывающем окне, необходимо явно указать другие элементы, которые могут получать тень в коллекции ThemeShadow.Receivers . Получатель не может быть предком отбрасывающего тень элемента в визуальном дереве.

Рекомендации по повышению производительности для ThemeShadow

  1. Ограничьте количество настраиваемых принимающих элементов до необходимого минимума.

  2. Если несколько элементов получателя находятся на одной высоте, попробуйте объединить их, нацелив на один родительский элемент.

  3. Если несколько элементов будут отбрасывать тени одного и того же типа на одни и те же принимающие элементы, то добавьте тень в качестве общего ресурса и повторно используйте ее.

Конструкторы

ThemeShadow()

Инициализирует новый экземпляр класса ThemeShadow .

Свойства

Dispatcher

Всегда возвращается null в приложении Windows App SDK. Вместо этого используйте DispatcherQueue .

(Унаследовано от DependencyObject)
DispatcherQueue

Возвращает объект , DispatcherQueue с которым связан данный объект. DispatcherQueue представляет объект, который может получить доступ к потоку DependencyObject пользовательского интерфейса, даже если код инициируется потоком, не относящегося к пользовательскому интерфейсу.

(Унаследовано от DependencyObject)
Receivers

Возвращает коллекцию элементов пользовательского интерфейса, к которым приводится эта тема ThemeShadow.

Методы

ClearValue(DependencyProperty)

Очищает локальное значение свойства зависимостей.

(Унаследовано от DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Возвращает любое базовое значение, установленное для свойства зависимостей, которое применяется в случаях, когда анимация не активна.

(Унаследовано от DependencyObject)
GetValue(DependencyProperty)

Возвращает текущее действующее значение свойства зависимостей из DependencyObject.

(Унаследовано от DependencyObject)
ReadLocalValue(DependencyProperty)

Возвращает локальное значение свойства зависимостей, если задано локальное значение.

(Унаследовано от DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Регистрирует функцию уведомления для прослушивания изменений определенной DependencyProperty в этом экземпляре DependencyObject .

(Унаследовано от DependencyObject)
SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей для Объекта DependencyObject.

(Унаследовано от DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Отменяет уведомление об изменениях, которое было ранее зарегистрировано путем вызова метода RegisterPropertyChangedCallback.

(Унаследовано от DependencyObject)

Применяется к

См. также раздел