Skip to content

Commit

Permalink
Cleanup 7.x toolkit urls
Browse files Browse the repository at this point in the history
  • Loading branch information
Arlodotexe committed Sep 2, 2023
1 parent d11f680 commit 16a1711
Show file tree
Hide file tree
Showing 29 changed files with 48 additions and 48 deletions.
4 changes: 2 additions & 2 deletions components/Animations/samples/Animations.md
Expand Up @@ -12,9 +12,9 @@ issue-id: 0
icon: Assets/ImplicitAnimations.png
---

The [`ImplicitAnimationSet`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.animations.ImplicitAnimationSet) type is the equivalent of [`AnimationSet`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.animations.AnimationSet) in the context of implicit [Composition animations](https://learn.microsoft.com/windows/uwp/composition/composition-animation). It represents a set of implicit animations that can only run on the [Composition layer](https://learn.microsoft.com/windows/uwp/composition/visual-layer) and that are available in three categories: show, hide, and implicit animations. `ImplicitAnimationSet` restricts the type of contained animations to objects implementing the [`IImplicitTimeline`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.animations.IImplicitTimeline) interface to offer an additional level of build-time safety when constructing animations from XAML. Similar to the other interfaces used for explicit animations this architecture is also extensible in that users can also easily plug in their custom types implementing this interface into an `ImplicitAnimationSet` collection.
The `ImplicitAnimationSet` type is the equivalent of `AnimationSet` in the context of implicit [Composition animations](https://learn.microsoft.com/windows/uwp/composition/composition-animation). It represents a set of implicit animations that can only run on the [Composition layer](https://learn.microsoft.com/windows/uwp/composition/visual-layer) and that are available in three categories: show, hide, and implicit animations. `ImplicitAnimationSet` restricts the type of contained animations to objects implementing the `IImplicitTimeline` interface to offer an additional level of build-time safety when constructing animations from XAML. Similar to the other interfaces used for explicit animations this architecture is also extensible in that users can also easily plug in their custom types implementing this interface into an `ImplicitAnimationSet` collection.

> **Platform APIs:** [`ImplicitAnimationSet`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.animations.ImplicitAnimationSet), [`AnimationSet`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.animations.AnimationSet), [`IImplicitTimeline`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.animations.IImplicitTimeline), [`Implicit`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.animations.Implicit)
> **Platform APIs:** `ImplicitAnimationSet`, `AnimationSet`, `IImplicitTimeline`, `Implicit`
## How it works

Expand Down
16 changes: 8 additions & 8 deletions components/Behaviors/samples/Behaviors.Animations.md
Expand Up @@ -12,9 +12,9 @@ issue-id: 0
icon: Assets/AnimationSet.png
---

The [`AnimationSet`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.animations.AnimationSet) type represents an animation schedule, effectively representing an [AnimationBuilder](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.animations.AnimationBuilder) instance via XAML code. It can contain any number of animations or activities, exposes methods to start and stop an animation, and events to be notified when an animation has started or is completed. Like `AnimationBuilder`, `AnimationSet` instances can also be shared (e.g. in a [`ResourceDictionary`](https://learn.microsoft.com/windows/uwp/design/controls-and-patterns/resourcedictionary-and-xaml-resource-references)) and then be used to start animation schedules on multiple UI elements. It can also be directly attached to a parent UI element, via the [`Explicit.Animations`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.animations.Explicit) attached property.
The `AnimationSet` type represents an animation schedule, effectively representing an `AnimationBuilder` instance via XAML code. It can contain any number of animations or activities, exposes methods to start and stop an animation, and events to be notified when an animation has started or is completed. Like `AnimationBuilder`, `AnimationSet` instances can also be shared (e.g. in a [`ResourceDictionary`](https://learn.microsoft.com/windows/uwp/design/controls-and-patterns/resourcedictionary-and-xaml-resource-references)) and then be used to start animation schedules on multiple UI elements. It can also be directly attached to a parent UI element, via the `Explicit.Animations` attached property.

> **Platform APIs:** [`AnimationSet`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.animations.AnimationSet), [AnimationBuilder](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.animations.AnimationBuilder), [`Explicit`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.animations.Explicit), [`ITimeline`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.animations.ITimeline), [`IActivity`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.animations.IActivity), [`AnimationScope`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.animations.AnimationScope), [`AnimationStartedTriggerBehavior`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.behaviors.AnimationStartedTriggerBehavior), [`AnimationCompletedTriggerBehavior`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.behaviors.AnimationCompletedTriggerBehavior), [`StartAnimationAction`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.behaviors.StartAnimationAction), [`StopAnimationAction`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.behaviors.StopAnimationAction)
> **Platform APIs:** `AnimationSet`, `AnimationBuilder`, `Explicit`, `ITimeline`, `IActivity`, `AnimationScope`, `AnimationStartedTriggerBehavior`, `AnimationCompletedTriggerBehavior`, `StartAnimationAction`, `StopAnimationAction`
## How it works

Expand All @@ -23,7 +23,7 @@ Each set can contain any number of animation scopes and individual nodes, which
- **Animation types** are a mapping in XAML for the various APIs exposed by the `AnimationBuilder` class. They are available as both "default" animations that are ready to use and "custom" animations that can be fully configured. Each animation type also supports using keyframes in addition to just defining the starting and final values.
- **Activities** on the other hand are a way to interleave an animation schedule with all sorts of custom logic, such as triggering other animations or running arbitrary code (eg. to update a visual state while an animation is running).

These two types of animation nodes implement several interfaces (such as [`ITimeline`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.animations.ITimeline) and [`IActivity`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.animations.IActivity)) which make this system extremely customizable and extensible for users as well for their own scenarios.
These two types of animation nodes implement several interfaces (such as `ITimeline` and `IActivity`) which make this system extremely customizable and extensible for users as well for their own scenarios.

Here is how a simple animation can be declared in XAML. In this case we are using `x:Name` so that we can reference it in code behind to start it when the button is clicked. The animation is also directly attached to the [`Button`](https://learn.microsoft.com/windows/uwp/design/controls-and-patterns/buttons), so we can start it directly by calling the `Start()` method, without the need to specify the target element to animate.

Expand Down Expand Up @@ -80,7 +80,7 @@ Keyframes (both when declared in C# and in XAML) can also use an [expression ani

Another feature of the `AnimationSet` type is the `IsSequential` property which configures the way top-level elements (animations, activities, and scopes) within the animation are handled.

When this property is set to `true` each top-level node will be executed sequentially and only move to the following one when the previous completes (and the animation has not been cancelled). This can be used in conjunction with the various `IActivity` objects to create custom animation schedules that combine multiple animations running on different UI elements, with all the synchronization still done entirely from XAML. It is also helpful when combined with an [`AnimationScope`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.animations.AnimationScope) in order to more easily parse the timeline of events within an animation when creating and modifying them.
When this property is set to `true` each top-level node will be executed sequentially and only move to the following one when the previous completes (and the animation has not been cancelled). This can be used in conjunction with the various `IActivity` objects to create custom animation schedules that combine multiple animations running on different UI elements, with all the synchronization still done entirely from XAML. It is also helpful when combined with an `AnimationScope` in order to more easily parse the timeline of events within an animation when creating and modifying them.

Here is an example that showcases both the sequential mode for animations as well as the ability to combine animations and activities in the same schedule, and how different animations (even on different UI elements) can be combined and interleaved by using the available APIs:

Expand Down Expand Up @@ -127,9 +127,9 @@ Here's an example of how all these various explicit animations can be combined t

If you are also referencing the `Behaviors` package, it will be possible to also use behaviors and actions to better support the new APIs, such as by automatically triggering an animation when a given event is raised, entirely from XAML. There are four main types being introduced in this package that interoperate with the Animation APIs:

- [`AnimationStartedTriggerBehavior`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.behaviors.AnimationStartedTriggerBehavior) and [`AnimationCompletedTriggerBehavior`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.behaviors.AnimationCompletedTriggerBehavior): these are custom triggers that can be used to execute `IAction`-s when an `AnimationSet` starts or completes. All the built-in `IAction` objects can be used from the Behaviors package, as well as custom ones as well.
- [`StartAnimationAction`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.behaviors.StartAnimationAction): an `IAction` object that can be used within behaviors to easily start a target animation, either with an attached UI element or with an explicit target to animate.
- [`StopAnimationAction`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.behaviors.StopAnimationAction): an `IAction` object that can be used within behaviors to easily stop a target animation, either with an attached UI element or with an explicit target to animate.
- `AnimationStartedTriggerBehavior` and `AnimationCompletedTriggerBehavior`: these are custom triggers that can be used to execute `IAction`-s when an `AnimationSet` starts or completes. All the built-in `IAction` objects can be used from the Behaviors package, as well as custom ones as well.
- `StartAnimationAction`: an `IAction` object that can be used within behaviors to easily start a target animation, either with an attached UI element or with an explicit target to animate.
- `StopAnimationAction`: an `IAction` object that can be used within behaviors to easily stop a target animation, either with an attached UI element or with an explicit target to animate.

Here is an example that shows how these new APIs can be used together:

Expand Down Expand Up @@ -164,7 +164,7 @@ This makes it possible to also not having to name the target UI element, to regi
## Effect animations

Lastly, the `AnimationSet` class can also directly animate Composition/Win2D effects. To gain access to this feature, you will need to also reference the `CommunityToolkit.WinUI.Media`. This package includes some special animation types that can be plugged in into an `AnimationSet` instance and used to animate individual effects within a custom effects graph. This can then be used either from a [PipelineBrush](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.media.pipelinebrush) or from an inline graph attached to a UI element through the [`PipelineVisualFactory`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.media.PipelineVisualFactory) type. All these effect animations are powered by the same `AnimationBuilder` type behind the scenes, and can facilitate creating complex animations on specific effects within a graph.
Lastly, the `AnimationSet` class can also directly animate Composition/Win2D effects. To gain access to this feature, you will need to also reference the `CommunityToolkit.WinUI.Media`. This package includes some special animation types that can be plugged in into an `AnimationSet` instance and used to animate individual effects within a custom effects graph. This can then be used either from a `PipelineBrush` or from an inline graph attached to a UI element through the `PipelineVisualFactory` type. All these effect animations are powered by the same `AnimationBuilder` type behind the scenes, and can facilitate creating complex animations on specific effects within a graph.

Here is an example of how the new `PipelineVisualFactory` type can be combined with these effect animations:

Expand Down
Expand Up @@ -14,9 +14,9 @@ icon: Assets/IncrementalLoadingCollection.png

> [!Sample IncrementalLoadingCollectionSample]
[IIncrementalSource](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.collections.iincrementalsource-1) - An interface that represents a data source whose items can be loaded incrementally.
`IIncrementalSource` - An interface that represents a data source whose items can be loaded incrementally.

[IncrementalLoadingCollection](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.incrementalloadingcollection-2) - An extension of [ObservableCollection](https://learn.microsoft.com/dotnet/api/system.collections.objectmodel.observablecollection-1) such that its items are loaded only when needed.
`IncrementalLoadingCollection` - An extension of [ObservableCollection](https://learn.microsoft.com/dotnet/api/system.collections.objectmodel.observablecollection-1) such that its items are loaded only when needed.

## Example

Expand Down
4 changes: 2 additions & 2 deletions components/DeveloperTools/samples/DeveloperTools.md
Expand Up @@ -14,15 +14,15 @@ icon: Assets/DeveloperTools.png

## AlignmentGrid XAML Control

The [AlignmentGrid Control](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.developertools.alignmentgrid) can be used to display a grid to help with aligning controls.
The `AlignmentGrid Control` can be used to display a grid to help with aligning controls.

You can control the grid's steps with `HorizontalStep` and `VerticalStep` properties. Line color can be defined with `LineBrush` property.

> [!Sample AlignmentGridSample]
## FocusTracker

The [FocusTracker Control](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.developertools.focustracker) can be used to display information about the current focused XAML element (if any).
The `FocusTracker Control` can be used to display information about the current focused XAML element (if any).

FocusTracker will display the following information (when available) about the current focused XAML element:

Expand Down
2 changes: 1 addition & 1 deletion components/Extensions/samples/AttachedShadows.md
Expand Up @@ -11,7 +11,7 @@ discussion-id: 0
issue-id: 0
icon: Assets/Shadow.png
---
> **Platform APIs:** [`AttachedCardShadow`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.media.attachedcardshadow), [`AttachedDropShadow`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.attacheddropshadow)
> **Platform APIs:** `AttachedCardShadow`, `AttachedDropShadow`
There are two types of attached shadows available today, the `AttachedCardShadow` and the `AttachedDropShadow`. It is recommended to use the `AttachedCardShadow` where possible, if you don't mind the dependency on Win2D. The `AttachedCardShadow` provides an easier to use experience that is more performant and easier to apply across an entire set of elements, assuming those elements are rounded-rectangular in shape. The `AttachedDropShadow` provides masking support and can be leveraged in any UWP app without adding an extra dependency.

Expand Down
Expand Up @@ -13,7 +13,7 @@ issue-id: 0
icon: Assets/Extensions.png
---

The [`DependencyObjectExtensions`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.DependencyObjectExtensions) type provides a collection of extensions methods for [`DependencyObject`](https://learn.microsoft.com/uwp/api/windows.ui.xaml.dependencyobject) objects. This class exposes several APIs to aid in using the [`VisualTreeHelper`](https://learn.microsoft.com/uwp/api/Windows.UI.Xaml.Media.VisualTreeHelper) class. There are a number of reasons why walking the visual tree might be useful, which are mentioned [in the docs](https://learn.microsoft.com/uwp/api/windows.ui.xaml.media.visualtreehelper?#traversing-a-visual-tree).
The `DependencyObjectExtensions` type provides a collection of extensions methods for [`DependencyObject`](https://learn.microsoft.com/uwp/api/windows.ui.xaml.dependencyobject) objects. This class exposes several APIs to aid in using the [`VisualTreeHelper`](https://learn.microsoft.com/uwp/api/Windows.UI.Xaml.Media.VisualTreeHelper) class. There are a number of reasons why walking the visual tree might be useful, which are mentioned [in the docs](https://learn.microsoft.com/uwp/api/windows.ui.xaml.media.visualtreehelper?#traversing-a-visual-tree).

## Syntax

Expand Down
2 changes: 1 addition & 1 deletion components/Extensions/samples/DispatcherQueueExtensions.md
Expand Up @@ -12,7 +12,7 @@ issue-id: 0
icon: Assets/Extensions.png
---

The [`DispatcherQueueExtensions`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.DispatcherQueueExtensions) type provides a collection of extensions methods for [`DispatcherQueue`](https://learn.microsoft.com/uwp/api/windows.system.dispatcherqueue) objects that makes it easier to execute code on a specific UI thread. A `DispatcherQueue` instance can be retrieved and cached for later use, and then used through any of the available helper methods to dispatch a delegate invocation on it.
The `DispatcherQueueExtensions` type provides a collection of extensions methods for [`DispatcherQueue`](https://learn.microsoft.com/uwp/api/windows.system.dispatcherqueue) objects that makes it easier to execute code on a specific UI thread. A `DispatcherQueue` instance can be retrieved and cached for later use, and then used through any of the available helper methods to dispatch a delegate invocation on it.

## Syntax

Expand Down
4 changes: 2 additions & 2 deletions components/Extensions/samples/EnumValuesExtension.md
Expand Up @@ -12,9 +12,9 @@ issue-id: 0
icon: Assets/Extensions.png
---

The [`EnumValuesExtensions`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.EnumValuesExtensions) type implements a markup extension that returns a collection of values of a specific enum type. It can be useful to easily bind a collection of all possible values from a given enum type to a UI element such as a [`ComboBox`](https://learn.microsoft.com/windows/uwp/design/controls-and-patterns/combo-box) or some other items container or selector control.
The `EnumValuesExtensions` type implements a markup extension that returns a collection of values of a specific enum type. It can be useful to easily bind a collection of all possible values from a given enum type to a UI element such as a [`ComboBox`](https://learn.microsoft.com/windows/uwp/design/controls-and-patterns/combo-box) or some other items container or selector control.

> **Platform APIs:** [`EnumValuesExtensions`](https://learn.microsoft.com/dotnet/api/microsoft.toolkit.uwp.ui.EnumValuesExtensions)
> **Platform APIs:** `EnumValuesExtensions`
## Syntax

Expand Down

0 comments on commit 16a1711

Please sign in to comment.