NavigationThemeTransition Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет анимации навигации по страницам.
public ref class NavigationThemeTransition sealed : Transition
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="DefaultNavigationTransitionInfo")]
class NavigationThemeTransition final : Transition
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="DefaultNavigationTransitionInfo")]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class NavigationThemeTransition final : Transition
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="DefaultNavigationTransitionInfo")]
public sealed class NavigationThemeTransition : Transition
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="DefaultNavigationTransitionInfo")]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class NavigationThemeTransition : Transition
Public NotInheritable Class NavigationThemeTransition
Inherits Transition
<NavigationThemeTransition .../>
- Наследование
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Примеры
Совет
Дополнительные сведения, рекомендации по проектированию и примеры кода см. в разделе "Переходы страницы".
Если у вас установлено приложение коллекции WinUI 2 , щелкните здесь, чтобы открыть приложение и просмотреть переходы страниц в действии.
Комментарии
В Windows 10 версии 1803 кадр использует NavigationThemeTransition для анимации навигации между страницами по умолчанию.
С помощью NavigationThemeTransition можно добавлять анимированные переходы, когда приложение перемещается между различными элементами содержимого.Frame Вы можете добавить NavigationThemeTransition в Transitions коллекцию перемещаемого Page объекта или ContentTransitions коллекцию для навигации Frame. Как правило, мы рекомендуем использовать свойство фрейма ContentTransitions , чтобы обеспечить переходы для всех страниц навигации.
В этом примере показан элемент NavigationThemeTransition, добавленный в коллекцию ContentTransitions Frame.
<Frame ...>
<Frame.ContentTransitions>
<TransitionCollection>
<NavigationThemeTransition/>
</TransitionCollection>
</Frame.ContentTransitions>
...
</Frame>
var frame = new Frame();
frame.ContentTransitions = new TransitionCollection();
frame.ContentTransitions.Add(new NavigationThemeTransition());
В Windows 10 две разные анимации предоставляются для навигации между страницами в приложении. Анимации навигации представлены подклассами NavigationTransitionInfo.
- Обновление страницы: обновление страницы — это анимация по умолчанию для навигации по страницам. Это сочетание анимации вверх и исчезания в анимации для входящего содержимого. Обновление страниц следует использовать при использовании навигации верхнего уровня, например меню навигации.
Анимация обновления страницы представлена классом EntranceNavigationTransitionInfo . Присоединенное свойство EntranceNavigationTransitionInfo.IsTargetElement можно использовать для применения движения обновления страницы к подмножество страницы; Например, все содержимое, за исключением пользовательского интерфейса команды страницы.
- Детализация. При взаимодействии пользователя с пользовательским интерфейсом на странице, представляющей ссылку на другую страницу, следует использовать анимацию детализации. Например, на странице, представляющей список альбомов, когда пользователь щелкает элемент альбома, должна быть детализация перехода на страницу альбома.
Детализация анимации представлена DrillInNavigationTransitionInfo классом.
По умолчанию NavigationThemeTransition воспроизводит анимацию обновления страницы. Однако это поведение можно переопределить, задав DefaultNavigationTransitionInfo свойство NavigationThemeTransition. Значение NavigationTransitionInfo этого свойства используется для всей навигации по умолчанию.
Можно указать анимацию, используемую для определенной навигации, с помощью перегрузки, принимающей Frame.Navigate 3 параметра.
В этом примере, когда пользователь "детализация" из списка альбомов на страницу, представляющую определенный альбом, приложение для просмотра музыки запрашивает детализацию анимации.
void AlbumsListView_ItemClick(object sender, ItemClickEventArgs e)
{
// Get albumId from clicked item...
Frame.Navigate(typeof(AlbumPage), albumId, new DrillInNavigationTransitionInfo());
}
Кроме того, можно использовать Frame.GoBack(NavigationTransitionInfo) для воспроизведения определенного перехода при переходе назад в стеке Frame назад. Это может быть полезно при динамическом изменении поведения навигации в зависимости от размера экрана, например при использовании адаптивного шаблона основных и подробных данных. Дополнительные примеры см. в образце основных и подробных сведений XAML.
SuppressNavigationTransitionInfo
Вы можете использовать SuppressNavigationTransitionInfo вместо других NavigationTransitionInfo подтипов, если вы хотите избежать воспроизведения анимации во время навигации.
// Navigate to your first page without a transition
Frame.Navigate(typeof(MainPage), null, new SuppressNavigationTransitionInfo());
Конструкторы
NavigationThemeTransition() |
Инициализирует новый экземпляр класса NavigationThemeTransition. |
Свойства
DefaultNavigationTransitionInfo |
Возвращает или задает переход по умолчанию, используемый при переходе между страницами. Эквивалентное свойство WinUI: Microsoft.UI.Xaml.Media.Animation.NavigationThemeTransition.DefaultNavigationTransitionInfo. |
DefaultNavigationTransitionInfoProperty |
Идентифицирует свойство зависимостей DefaultNavigationTransitionInfo. Эквивалентное свойство WinUI: Microsoft.UI.Xaml.Media.Animation.NavigationThemeTransition.DefaultNavigationTransitionInfoProperty. |
Dispatcher |
CoreDispatcher Возвращает объект, с которым связан этот объект. Представляет CoreDispatcher объект, который может получить доступ к DependencyObject потоку пользовательского интерфейса, даже если код инициируется потоком, не зависящим от пользовательского интерфейса. Эквивалентный API WinUI 2 для UWP: Microsoft.UI.Xaml.DependencyObject.Dispatcher (для WinUI в Windows App SDK см. Windows App SDK пространства имен). (Унаследовано от DependencyObject) |
Методы
Применяется к
См. также раздел
Обратная связь
Отправить и просмотреть отзыв по