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
- Наследование
- Атрибуты
Примеры
Совет
Дополнительные сведения, рекомендации по проектированию и примеры кода см. в разделе 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
Ограничьте количество настраиваемых принимающих элементов до необходимого минимума.
Если несколько элементов получателя находятся на одной высоте, попробуйте объединить их, нацелив на один родительский элемент.
Если несколько элементов будут отбрасывать тени одного и того же типа на одни и те же принимающие элементы, то добавьте тень в качестве общего ресурса и повторно используйте ее.
Конструкторы
ThemeShadow() |
Инициализирует новый экземпляр класса ThemeShadow . |
Свойства
Dispatcher |
Всегда возвращается |
DispatcherQueue |
Возвращает объект , |
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) |