From 75ceea4443d2ee187715d523a7c433acf507dcf8 Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Fri, 1 Sep 2023 17:20:57 -0500 Subject: [PATCH] Removed all markdown links starting with /dotnet/api/ --- components/Animations/samples/Animations.md | 4 ++-- .../Behaviors/samples/Behaviors.Animations.md | 16 ++++++++-------- .../samples/IncrementalLoadingCollection.md | 4 ++-- components/Converters/samples/Converters.md | 2 +- .../DeveloperTools/samples/DeveloperTools.md | 4 ++-- components/Extensions/samples/AttachedShadows.md | 2 +- .../samples/DependencyObjectExtensions.md | 2 +- .../samples/DispatcherQueueExtensions.md | 2 +- .../Extensions/samples/EnumValuesExtension.md | 4 ++-- .../samples/FrameworkElementExtensions.md | 8 ++++---- .../Extensions/samples/HyperlinkExtensions.md | 2 +- .../Extensions/samples/ListViewExtensions.md | 2 +- .../Extensions/samples/MatrixExtensions.md | 2 +- .../Extensions/samples/NullableBoolExtension.md | 4 ++-- .../Extensions/samples/OnDeviceExtension.md | 2 +- .../Extensions/samples/ScrollViewerExtensions.md | 6 +++--- .../Extensions/samples/ShadowAnimations.md | 4 ++-- .../Extensions/samples/StringExtensions.md | 2 +- .../Extensions/samples/TextBoxExtensions.md | 8 ++++---- .../Extensions/samples/TransformExtensions.md | 2 +- .../Extensions/samples/VisualExtensions.md | 2 +- components/Helpers/samples/DesignTimeHelper.md | 2 +- components/Helpers/samples/NetworkHelper.md | 2 +- components/Helpers/samples/ScreenUnitHelper.md | 2 +- components/ImageCropper/samples/ImageCropper.md | 2 +- .../samples/LayoutTransformControl.md | 2 +- components/Primitives/samples/ConstrainedBox.md | 2 +- .../Primitives/samples/StaggeredSamples.md | 4 ++-- .../RichSuggestBox/samples/RichSuggestBox.md | 4 ++-- .../samples/TokenizingTextBox.md | 2 +- 30 files changed, 53 insertions(+), 53 deletions(-) diff --git a/components/Animations/samples/Animations.md b/components/Animations/samples/Animations.md index 29a653d0..8d4597f5 100644 --- a/components/Animations/samples/Animations.md +++ b/components/Animations/samples/Animations.md @@ -12,9 +12,9 @@ issue-id: 0 icon: Assets/ImplicitAnimations.png --- -The [`ImplicitAnimationSet`](/dotnet/api/microsoft.toolkit.uwp.ui.animations.ImplicitAnimationSet) type is the equivalent of [`AnimationSet`](/dotnet/api/microsoft.toolkit.uwp.ui.animations.AnimationSet) in the context of implicit [Composition animations](/windows/uwp/composition/composition-animation). It represents a set of implicit animations that can only run on the [Composition layer](/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`](/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](/windows/uwp/composition/composition-animation). It represents a set of implicit animations that can only run on the [Composition layer](/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`](/dotnet/api/microsoft.toolkit.uwp.ui.animations.ImplicitAnimationSet), [`AnimationSet`](/dotnet/api/microsoft.toolkit.uwp.ui.animations.AnimationSet), [`IImplicitTimeline`](/dotnet/api/microsoft.toolkit.uwp.ui.animations.IImplicitTimeline), [`Implicit`](/dotnet/api/microsoft.toolkit.uwp.ui.animations.Implicit) +> **Platform APIs:** `ImplicitAnimationSet`, `AnimationSet`, `IImplicitTimeline`, `Implicit` ## How it works diff --git a/components/Behaviors/samples/Behaviors.Animations.md b/components/Behaviors/samples/Behaviors.Animations.md index c7687c67..5bce1258 100644 --- a/components/Behaviors/samples/Behaviors.Animations.md +++ b/components/Behaviors/samples/Behaviors.Animations.md @@ -12,9 +12,9 @@ issue-id: 0 icon: Assets/AnimationSet.png --- -The [`AnimationSet`](/dotnet/api/microsoft.toolkit.uwp.ui.animations.AnimationSet) type represents an animation schedule, effectively representing an [AnimationBuilder](/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`](/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`](/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`](/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`](/dotnet/api/microsoft.toolkit.uwp.ui.animations.AnimationSet), [AnimationBuilder](/dotnet/api/microsoft.toolkit.uwp.ui.animations.AnimationBuilder), [`Explicit`](/dotnet/api/microsoft.toolkit.uwp.ui.animations.Explicit), [`ITimeline`](/dotnet/api/microsoft.toolkit.uwp.ui.animations.ITimeline), [`IActivity`](/dotnet/api/microsoft.toolkit.uwp.ui.animations.IActivity), [`AnimationScope`](/dotnet/api/microsoft.toolkit.uwp.ui.animations.AnimationScope), [`AnimationStartedTriggerBehavior`](/dotnet/api/microsoft.toolkit.uwp.ui.behaviors.AnimationStartedTriggerBehavior), [`AnimationCompletedTriggerBehavior`](/dotnet/api/microsoft.toolkit.uwp.ui.behaviors.AnimationCompletedTriggerBehavior), [`StartAnimationAction`](/dotnet/api/microsoft.toolkit.uwp.ui.behaviors.StartAnimationAction), [`StopAnimationAction`](/dotnet/api/microsoft.toolkit.uwp.ui.behaviors.StopAnimationAction) +> **Platform APIs:** `AnimationSet`, AnimationBuilder, `Explicit`, `ITimeline`, `IActivity`, `AnimationScope`, `AnimationStartedTriggerBehavior`, `AnimationCompletedTriggerBehavior`, `StartAnimationAction`, `StopAnimationAction` ## How it works @@ -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`](/dotnet/api/microsoft.toolkit.uwp.ui.animations.ITimeline) and [`IActivity`](/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`](/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. @@ -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`](/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: @@ -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`](/dotnet/api/microsoft.toolkit.uwp.ui.behaviors.AnimationStartedTriggerBehavior) and [`AnimationCompletedTriggerBehavior`](/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`](/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`](/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: @@ -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](/dotnet/api/microsoft.toolkit.uwp.ui.media.pipelinebrush) or from an inline graph attached to a UI element through the [`PipelineVisualFactory`](/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: diff --git a/components/Collections/samples/IncrementalLoadingCollection.md b/components/Collections/samples/IncrementalLoadingCollection.md index ba8d42d2..cffd4102 100644 --- a/components/Collections/samples/IncrementalLoadingCollection.md +++ b/components/Collections/samples/IncrementalLoadingCollection.md @@ -14,9 +14,9 @@ icon: Assets/IncrementalLoadingCollection.png > [!Sample IncrementalLoadingCollectionSample] -[IIncrementalSource](/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](/dotnet/api/microsoft.toolkit.uwp.incrementalloadingcollection-2) - An extension of [ObservableCollection](/dotnet/api/system.collections.objectmodel.observablecollection-1) such that its items are loaded only when needed. +IncrementalLoadingCollection - An extension of ObservableCollection such that its items are loaded only when needed. ## Example diff --git a/components/Converters/samples/Converters.md b/components/Converters/samples/Converters.md index 90ec6f37..21e0e789 100644 --- a/components/Converters/samples/Converters.md +++ b/components/Converters/samples/Converters.md @@ -65,7 +65,7 @@ Converts a file size in bytes to a more human-readable friendly format using `To Converts a source string from the App resources and returns its value, if found. ## StringFormatConverter -This allows you to format a string property upon binding wrapping [string.Format](/dotnet/api/system.string.format?view=netstandard-2.0). +This allows you to format a string property upon binding wrapping string.Format. It only allows for a single input value (the binding string), but can be formatted with the regular string.Format methods. diff --git a/components/DeveloperTools/samples/DeveloperTools.md b/components/DeveloperTools/samples/DeveloperTools.md index 67fbfc88..cae9c5a1 100644 --- a/components/DeveloperTools/samples/DeveloperTools.md +++ b/components/DeveloperTools/samples/DeveloperTools.md @@ -14,7 +14,7 @@ icon: Assets/DeveloperTools.png ## AlignmentGrid XAML Control -The [AlignmentGrid Control](/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. @@ -22,7 +22,7 @@ You can control the grid's steps with `HorizontalStep` and `VerticalStep` proper ## FocusTracker -The [FocusTracker Control](/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: diff --git a/components/Extensions/samples/AttachedShadows.md b/components/Extensions/samples/AttachedShadows.md index 705fb216..47094279 100644 --- a/components/Extensions/samples/AttachedShadows.md +++ b/components/Extensions/samples/AttachedShadows.md @@ -11,7 +11,7 @@ discussion-id: 0 issue-id: 0 icon: Assets/Shadow.png --- -> **Platform APIs:** [`AttachedCardShadow`](/dotnet/api/microsoft.toolkit.uwp.ui.media.attachedcardshadow), [`AttachedDropShadow`](/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. diff --git a/components/Extensions/samples/DependencyObjectExtensions.md b/components/Extensions/samples/DependencyObjectExtensions.md index bf82674d..a25e8311 100644 --- a/components/Extensions/samples/DependencyObjectExtensions.md +++ b/components/Extensions/samples/DependencyObjectExtensions.md @@ -13,7 +13,7 @@ issue-id: 0 icon: Assets/Extensions.png --- -The [`DependencyObjectExtensions`](/dotnet/api/microsoft.toolkit.uwp.ui.DependencyObjectExtensions) type provides a collection of extensions methods for [`DependencyObject`](/uwp/api/windows.ui.xaml.dependencyobject) objects. This class exposes several APIs to aid in using the [`VisualTreeHelper`](/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](/uwp/api/windows.ui.xaml.media.visualtreehelper?#traversing-a-visual-tree). +The `DependencyObjectExtensions` type provides a collection of extensions methods for [`DependencyObject`](/uwp/api/windows.ui.xaml.dependencyobject) objects. This class exposes several APIs to aid in using the [`VisualTreeHelper`](/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](/uwp/api/windows.ui.xaml.media.visualtreehelper?#traversing-a-visual-tree). ## Syntax diff --git a/components/Extensions/samples/DispatcherQueueExtensions.md b/components/Extensions/samples/DispatcherQueueExtensions.md index 884a5501..773c1547 100644 --- a/components/Extensions/samples/DispatcherQueueExtensions.md +++ b/components/Extensions/samples/DispatcherQueueExtensions.md @@ -12,7 +12,7 @@ issue-id: 0 icon: Assets/Extensions.png --- -The [`DispatcherQueueExtensions`](/dotnet/api/microsoft.toolkit.uwp.DispatcherQueueExtensions) type provides a collection of extensions methods for [`DispatcherQueue`](/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`](/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 diff --git a/components/Extensions/samples/EnumValuesExtension.md b/components/Extensions/samples/EnumValuesExtension.md index eac81805..37afcbce 100644 --- a/components/Extensions/samples/EnumValuesExtension.md +++ b/components/Extensions/samples/EnumValuesExtension.md @@ -12,9 +12,9 @@ issue-id: 0 icon: Assets/Extensions.png --- -The [`EnumValuesExtensions`](/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`](/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`](/windows/uwp/design/controls-and-patterns/combo-box) or some other items container or selector control. -> **Platform APIs:** [`EnumValuesExtensions`](/dotnet/api/microsoft.toolkit.uwp.ui.EnumValuesExtensions) +> **Platform APIs:** `EnumValuesExtensions` ## Syntax diff --git a/components/Extensions/samples/FrameworkElementExtensions.md b/components/Extensions/samples/FrameworkElementExtensions.md index 90cfc257..14f59a7b 100644 --- a/components/Extensions/samples/FrameworkElementExtensions.md +++ b/components/Extensions/samples/FrameworkElementExtensions.md @@ -13,13 +13,13 @@ issue-id: 0 icon: Assets/Extensions.png --- -[`FrameworkElementExtensions`](/dotnet/api/microsoft.toolkit.uwp.ui.frameworkelementextensions) provides a collection of attached dependency properties, helpers and extension methods to work with [`FrameworkElement`](/uwp/api/windows.ui.xaml.frameworkelement) objects. In particular, it also includes a series of extension methods to explore the logical tree from a given UI element and find child or parent objects. +`FrameworkElementExtensions` provides a collection of attached dependency properties, helpers and extension methods to work with [`FrameworkElement`](/uwp/api/windows.ui.xaml.frameworkelement) objects. In particular, it also includes a series of extension methods to explore the logical tree from a given UI element and find child or parent objects. ## Logical tree extensions The `FindChild` and `FindParent` methods (and their overloads) provide an easy way to explore the logical tree starting from a given `FrameworkElement` instance and find other controls connected to it. -These APIs differ from the *visual tree* extensions (in the [`DependencyObjectExtensions`](/dotnet/api/microsoft.toolkit.uwp.ui.DependencyObjectExtensions) class) where extra containers and styles can wrap other elements. The logical tree instead defines how controls are directly connected through construction. These methods can also be used on controls that aren't yet connected or rendered in the visual tree. +These APIs differ from the *visual tree* extensions (in the `DependencyObjectExtensions` class) where extra containers and styles can wrap other elements. The logical tree instead defines how controls are directly connected through construction. These methods can also be used on controls that aren't yet connected or rendered in the visual tree. Here are some examples of how these extensions can be used: @@ -68,7 +68,7 @@ Here is an example of how the `ActualWidth` attached property can be used in a b ## AncestorType -The `AncestorType` attached property will walk the visual tree from the attached element for another element of the specified type. That value will be stored in the attached element's `Ancestor` property. This can then be used for binding to properties on the parent element. This is similar to the [`FindAncestor`](/dotnet/api/system.windows.data.relativesourcemode) mode to [`RelativeSource`](/dotnet/desktop/wpf/advanced/relativesource-markupextension) data binding in WPF. +The `AncestorType` attached property will walk the visual tree from the attached element for another element of the specified type. That value will be stored in the attached element's `Ancestor` property. This can then be used for binding to properties on the parent element. This is similar to the `FindAncestor` mode to [`RelativeSource`](/dotnet/desktop/wpf/advanced/relativesource-markupextension) data binding in WPF. Here is an example of how this can be used: @@ -102,7 +102,7 @@ Here is how you can easily set a custom cursor type for a target `FrameworkEleme > Even though Microsoft recommends in [UWP Design guidelines](/uwp/input-and-devices/mouse-interactions#cursors) hover effects instead of custom cursors over interactive elements, custom cursors can be useful in some specific scenarios. > [!WARNING] -> Because the UWP framework does not support metadata on attached properties, specifically the [`FrameworkPropertyMetadata.Inherits`](/dotnet/api/system.windows.frameworkpropertymetadata.-ctor#System_Windows_FrameworkPropertyMetadata__ctor_System_Object_System_Windows_FrameworkPropertyMetadataOptions_System_Windows_PropertyChangedCallback_System_Windows_CoerceValueCallback_) flag, the `Cursor` property might not work properly in some very specific XAML layout scenarios when combining nested `FrameworkElement`-s with different `CoreCursorType` values set on them. +> Because the UWP framework does not support metadata on attached properties, specifically the `FrameworkPropertyMetadata.Inherits` flag, the `Cursor` property might not work properly in some very specific XAML layout scenarios when combining nested `FrameworkElement`-s with different `CoreCursorType` values set on them. ## Examples diff --git a/components/Extensions/samples/HyperlinkExtensions.md b/components/Extensions/samples/HyperlinkExtensions.md index 6ec1d08b..56e6d10c 100644 --- a/components/Extensions/samples/HyperlinkExtensions.md +++ b/components/Extensions/samples/HyperlinkExtensions.md @@ -12,7 +12,7 @@ issue-id: 0 icon: Assets/Extensions.png --- -The [HyperlinkExtensions](/dotnet/api/microsoft.toolkit.uwp.ui.hyperlinkextensions) class allows for a [`Hyperlink`](/uwp/api/Windows.UI.Xaml.Documents.Hyperlink) element to invoke the execute method on a bound [`ICommand`](/uwp/api/Windows.UI.Xaml.Input.ICommand) instance when clicked. +The HyperlinkExtensions class allows for a [`Hyperlink`](/uwp/api/Windows.UI.Xaml.Documents.Hyperlink) element to invoke the execute method on a bound [`ICommand`](/uwp/api/Windows.UI.Xaml.Input.ICommand) instance when clicked. ## How it works diff --git a/components/Extensions/samples/ListViewExtensions.md b/components/Extensions/samples/ListViewExtensions.md index 5a3b57ab..5ca89334 100644 --- a/components/Extensions/samples/ListViewExtensions.md +++ b/components/Extensions/samples/ListViewExtensions.md @@ -12,7 +12,7 @@ issue-id: 0 icon: Assets/Extensions.png --- -The [`ListViewExtensions`](/dotnet/api/microsoft.toolkit.uwp.ui.listviewextensions) class provide a lightweight way to extend every control that inherits the [`ListViewBase`](/uwp/api/Windows.UI.Xaml.Controls.ListViewBase) class with attached properties. This means that all the extensions in this class can apply to both [`ListView`](/uwp/api/windows.ui.xaml.controls.listview), [`GridView`](/uwp/api/windows.ui.xaml.controls.gridview) and other controls. +The `ListViewExtensions` class provide a lightweight way to extend every control that inherits the [`ListViewBase`](/uwp/api/Windows.UI.Xaml.Controls.ListViewBase) class with attached properties. This means that all the extensions in this class can apply to both [`ListView`](/uwp/api/windows.ui.xaml.controls.listview), [`GridView`](/uwp/api/windows.ui.xaml.controls.gridview) and other controls. ## ListViewBase Extensions diff --git a/components/Extensions/samples/MatrixExtensions.md b/components/Extensions/samples/MatrixExtensions.md index 931f7211..fee0a193 100644 --- a/components/Extensions/samples/MatrixExtensions.md +++ b/components/Extensions/samples/MatrixExtensions.md @@ -12,5 +12,5 @@ issue-id: 0 icon: Assets/Extensions.png --- -The [`MatrixExtensions`](/dotnet/api/microsoft.toolkit.uwp.ui.matrixextensions) type provides methods to transform a [`Matrix`](/uwp/api/Windows.UI.Xaml.Media.Matrix) (Rotate, Scale, Translate, etc...). These are a similar subset of methods originally provided in the [System.Windows.Media.Matrix](/dotnet/api/system.windows.media.matrix) class. +The `MatrixExtensions` type provides methods to transform a `Matrix`](/uwp/api/Windows.UI.Xaml.Media.Matrix) (Rotate, Scale, Translate, etc...). These are a similar subset of methods originally provided in the [System.Windows.Media.Matrix class. diff --git a/components/Extensions/samples/NullableBoolExtension.md b/components/Extensions/samples/NullableBoolExtension.md index 77bbd237..cdcded38 100644 --- a/components/Extensions/samples/NullableBoolExtension.md +++ b/components/Extensions/samples/NullableBoolExtension.md @@ -12,9 +12,9 @@ issue-id: 0 icon: Assets/Extensions.png --- -The [`NullableBoolExtension`](/dotnet/api/microsoft.toolkit.uwp.ui.nullableboolextension) type provides the ability to set nullable `bool` dependency properties in XAML markup. These types of properties can normally be bound to, but can't be explicitly set to a specific value. This extension provides that capability. +The `NullableBoolExtension` type provides the ability to set nullable `bool` dependency properties in XAML markup. These types of properties can normally be bound to, but can't be explicitly set to a specific value. This extension provides that capability. -> **Platform APIs:** [`NullableBoolExtension`](/dotnet/api/microsoft.toolkit.uwp.ui.nullableboolextension) +> **Platform APIs:** `NullableBoolExtension` Here is an example of how this extension could be used when binding to a `DependencyProperty`: diff --git a/components/Extensions/samples/OnDeviceExtension.md b/components/Extensions/samples/OnDeviceExtension.md index d5918ca2..ebc15933 100644 --- a/components/Extensions/samples/OnDeviceExtension.md +++ b/components/Extensions/samples/OnDeviceExtension.md @@ -12,7 +12,7 @@ issue-id: 0 icon: Assets/Extensions.png --- -The [`OnDeviceExtension`](/dotnet/api/microsoft.toolkit.uwp.ui.ondeviceextension) type allows you to customize UI appearance on a per-DeviceFamily basis. It is inspired on the [OnPlatform](https://github.com/xamarin/Xamarin.Forms/issues/2608) markup extensions from Xamarin.Forms 3.2 +The `OnDeviceExtension` type allows you to customize UI appearance on a per-DeviceFamily basis. It is inspired on the [OnPlatform](https://github.com/xamarin/Xamarin.Forms/issues/2608) markup extensions from Xamarin.Forms 3.2 Here is how the property can be used in XAML: diff --git a/components/Extensions/samples/ScrollViewerExtensions.md b/components/Extensions/samples/ScrollViewerExtensions.md index cc45f989..589873e9 100644 --- a/components/Extensions/samples/ScrollViewerExtensions.md +++ b/components/Extensions/samples/ScrollViewerExtensions.md @@ -12,13 +12,13 @@ issue-id: 0 icon: Assets/Extensions.png --- -The [`ScrollViewerExtensions`](/dotnet/api/microsoft.toolkit.uwp.ui.scrollviewerextensions) type provides extension methods to improve your [`ScrollViewer`](/uwp/api/windows.ui.xaml.controls.scrollviewer) implementation. +The `ScrollViewerExtensions` type provides extension methods to improve your [`ScrollViewer`](/uwp/api/windows.ui.xaml.controls.scrollviewer) implementation. -> **Platform APIs:** [`ScrollViewerExtensions`](/dotnet/api/microsoft.toolkit.uwp.ui.scrollviewerextensions) +> **Platform APIs:** `ScrollViewerExtensions` ## ScrollBarMargin -The `ScrollBarMargin` property provides a way to assign a [`Thickness`](/dotnet/api/system.windows.thickness) to the vertical/horizontal [`ScrollBar`](/uwp/api/windows.ui.xaml.controls.primitives.scrollbar) of your container. +The `ScrollBarMargin` property provides a way to assign a `Thickness` to the vertical/horizontal [`ScrollBar`](/uwp/api/windows.ui.xaml.controls.primitives.scrollbar) of your container. Here is how this property can be used in XAML: diff --git a/components/Extensions/samples/ShadowAnimations.md b/components/Extensions/samples/ShadowAnimations.md index d94c147a..41db67cb 100644 --- a/components/Extensions/samples/ShadowAnimations.md +++ b/components/Extensions/samples/ShadowAnimations.md @@ -14,14 +14,14 @@ icon: Assets/ShadowAnimation.png Either type of Attached Shadow can be easily animated using the Toolkit's [`AnimationSet`](../animations/AnimationSet.md) api. These provide an easy XAML based way to animate a wide variety of elements, including a variety of shadow properties. They can also be animated with any other composition animation technique in code-behind as well using either the [`AnimationBuilder`](../animations/AnimationBuilder.md) or built-in composition animations. -> **Platform APIs:** [`BlurRadiusDropShadowAnimation`](/dotnet/api/microsoft.toolkit.uwp.ui.animations.blurradiusdropshadowanimation), [`ColorDropShadowAnimation`](/dotnet/api/microsoft.toolkit.uwp.ui.animations.colordropshadowanimation), [`OffsetDropShadowAnimation`](/dotnet/api/microsoft.toolkit.uwp.ui.animations.offsetdropshadowanimation), [`OpacityDropShadowAnimation`](/dotnet/api/microsoft.toolkit.uwp.ui.animations.opacitydropshadowanimation) +> **Platform APIs:** `BlurRadiusDropShadowAnimation`, `ColorDropShadowAnimation`, `OffsetDropShadowAnimation`, `OpacityDropShadowAnimation` > [!NOTE] > `AttachedCardShadow` has better support for animations which involve translation of the element along with the shadow. If animating an `AttachedDropShadow` it is best to only animate the shadow itself vs. moving the element it is attached to. This can cause the shadow and element to be desynchronized. ### Example -The following example uses a combination of behaviors and animations apis to create an animated shadow effect when hovering over an image with an [`OffsetDropShadowAnimation`](/dotnet/api/microsoft.toolkit.uwp.ui.animations.offsetdropshadowanimation): +The following example uses a combination of behaviors and animations apis to create an animated shadow effect when hovering over an image with an `OffsetDropShadowAnimation`: ```xaml xmlns:ui="using:CommunityToolkit.WinUI" diff --git a/components/Extensions/samples/StringExtensions.md b/components/Extensions/samples/StringExtensions.md index 915e7409..3fbfd5cb 100644 --- a/components/Extensions/samples/StringExtensions.md +++ b/components/Extensions/samples/StringExtensions.md @@ -12,7 +12,7 @@ issue-id: 0 icon: Assets/Extensions.png --- -The [`StringExtensions`](/dotnet/api/microsoft.toolkit.StringExtensions) type contains helpers and extensions for `string` objects, including validation methods for common scenarios. +The `StringExtensions` type contains helpers and extensions for `string` objects, including validation methods for common scenarios. ## Syntax diff --git a/components/Extensions/samples/TextBoxExtensions.md b/components/Extensions/samples/TextBoxExtensions.md index 9ff59623..19da86cb 100644 --- a/components/Extensions/samples/TextBoxExtensions.md +++ b/components/Extensions/samples/TextBoxExtensions.md @@ -12,7 +12,7 @@ issue-id: 0 icon: Assets/Extensions.png --- -The [`TextBoxExtensions`](/dotnet/api/microsoft.toolkit.uwp.ui.TextBoxExtensions) type provides additional features for the [`TextBox`](/uwp/api/windows.ui.xaml.controls.textbox) control through extension methods and attached properties. +The `TextBoxExtensions` type provides additional features for the [`TextBox`](/uwp/api/windows.ui.xaml.controls.textbox) control through extension methods and attached properties. ## Text mask @@ -82,11 +82,11 @@ The `Regex` attached property allows text validation using a regular expression The developer adds a regular expression to validate the TextBox Text against the regular expression throw Regex property or from selecting ValidationType property on the TextBox. -The validation has 3 modes ([`TextBoxExtensions.ValidationMode`](/dotnet/api/microsoft.toolkit.uwp.ui.TextBoxExtensions.ValidationMode)): +The validation has 3 modes (`TextBoxExtensions.ValidationMode`): 1) `Normal` (Default): this mode will set the `IsValid` attached property to `false` or `true` whether the `TextBox` text is a valid or not against the `Regex` property. 2) `Forced`: this mode sets the `IsValid` property and removes the `TextBox` text if not valid when the `TextBox` loses focus. -3) `Dynamic`: this mode extends `Normal` and if is the newest input of the `TextBox` is invalid, the character which is invalid will be deleted. Note that the [`TextBoxExtensions.ValidationType`](/dotnet/api/microsoft.toolkit.uwp.ui.TextBoxExtensions.ValidationType) values `Email` and `PhoneNumber` don't support this validation mode. If you set the validation mode to `Dynamic`, `Normal` is selected automatically instead. +3) `Dynamic`: this mode extends `Normal` and if is the newest input of the `TextBox` is invalid, the character which is invalid will be deleted. Note that the `TextBoxExtensions.ValidationType` values `Email` and `PhoneNumber` don't support this validation mode. If you set the validation mode to `Dynamic`, `Normal` is selected automatically instead. ### Syntax @@ -119,7 +119,7 @@ Here is a `TextBox` with `ValidationType="Email"`, with the validation occurring ## Surface Dial support -The `SurfaceDialOptions` property adds features from the Surface Dial control to a numeric `TextBox`. This enables you to modify the content of the `TextBox` when rotating the Surface Dial (increasing or decreasing the value) and optionally go to the next focus element by tapping the Surface Dial click button. The various options are set through the [`SurfaceDialOptions`](/dotnet/api/microsoft.toolkit.uwp.ui.SurfaceDialOptions) type, which is declared in XAML and used to set all the values to use for a given `TextBox` from a single place. +The `SurfaceDialOptions` property adds features from the Surface Dial control to a numeric `TextBox`. This enables you to modify the content of the `TextBox` when rotating the Surface Dial (increasing or decreasing the value) and optionally go to the next focus element by tapping the Surface Dial click button. The various options are set through the `SurfaceDialOptions` type, which is declared in XAML and used to set all the values to use for a given `TextBox` from a single place. ### Syntax diff --git a/components/Extensions/samples/TransformExtensions.md b/components/Extensions/samples/TransformExtensions.md index 847b51ee..8b7aa22e 100644 --- a/components/Extensions/samples/TransformExtensions.md +++ b/components/Extensions/samples/TransformExtensions.md @@ -12,4 +12,4 @@ issue-id: 0 icon: Assets/Extensions.png --- -The Transform Extensions ([RotateTransformExtensions](/dotnet/api/microsoft.toolkit.uwp.ui.extensions.rotatetransformextensions), [ScaleTransformExtensions](/dotnet/api/microsoft.toolkit.uwp.ui.extensions.scaletransformextensions), [SkewTransformExtensions](/dotnet/api/microsoft.toolkit.uwp.ui.extensions.skewtransformextensions), and [TranslateTransformExtensions](/dotnet/api/microsoft.toolkit.uwp.ui.extensions.translatetransformextensions)) provide the ability to retrieve the Matrix of the transform. This is similar to the `Value` property on the [System.Windows.Media.Transform](/dotnet/api/system.windows.media.transform) class. +The Transform Extensions (RotateTransformExtensions, ScaleTransformExtensions, SkewTransformExtensions, and TranslateTransformExtensions) provide the ability to retrieve the Matrix of the transform. This is similar to the `Value` property on the System.Windows.Media.Transform class. diff --git a/components/Extensions/samples/VisualExtensions.md b/components/Extensions/samples/VisualExtensions.md index b56ba1fc..bbb44660 100644 --- a/components/Extensions/samples/VisualExtensions.md +++ b/components/Extensions/samples/VisualExtensions.md @@ -12,7 +12,7 @@ issue-id: 0 icon: Assets/Extensions.png --- -The [`VisualExtensions`](/dotnet/api/microsoft.toolkit.uwp.ui.VisualExtensions) type allows developers to modify common properties of the [`Visual`](/uwp/api/Windows.UI.Composition.Visual) object of an element directly in XAML. +The `VisualExtensions` type allows developers to modify common properties of the [`Visual`](/uwp/api/Windows.UI.Composition.Visual) object of an element directly in XAML. ## Syntax diff --git a/components/Helpers/samples/DesignTimeHelper.md b/components/Helpers/samples/DesignTimeHelper.md index 51fcfefe..b9de9023 100644 --- a/components/Helpers/samples/DesignTimeHelper.md +++ b/components/Helpers/samples/DesignTimeHelper.md @@ -12,7 +12,7 @@ issue-id: 0 icon: Assets/ColorHelper.png --- -The [DesignTimeHelpers](/dotnet/api/microsoft.toolkit.uwp.ui.designtimehelpers) helps to detect if your code is running in execution or designtime mode. +The DesignTimeHelpers helps to detect if your code is running in execution or designtime mode. ```csharp if (DesignTimeHelpers.IsRunningInLegacyDesignerMode || DesignTimeHelpers.IsRunningInEnhancedDesignerMode) diff --git a/components/Helpers/samples/NetworkHelper.md b/components/Helpers/samples/NetworkHelper.md index 70fbbf77..36bb346f 100644 --- a/components/Helpers/samples/NetworkHelper.md +++ b/components/Helpers/samples/NetworkHelper.md @@ -12,7 +12,7 @@ issue-id: 0 icon: Assets/NetworkHelper.png --- -It exposes network information though a property called ConnectionInformation. The [ConnectionInformation](/dotnet/api/microsoft.toolkit.uwp.connectivity.connectioninformation) holds information about ConnectionType, ConnectivityLevel, ConnectionCost, SignalStrength, Internet Connectivity and more. +It exposes network information though a property called ConnectionInformation. The ConnectionInformation holds information about ConnectionType, ConnectivityLevel, ConnectionCost, SignalStrength, Internet Connectivity and more. **_What is a metered connection?_** A metered connection is an Internet connection that has a data limit or cost associated with it. Cellular data connections are set as metered by default. Wi-Fi network connections can be set to metered, but aren't by default. Application developers should take metered nature of connection into account and reduce data usage. diff --git a/components/Helpers/samples/ScreenUnitHelper.md b/components/Helpers/samples/ScreenUnitHelper.md index 70e2d273..4f87225d 100644 --- a/components/Helpers/samples/ScreenUnitHelper.md +++ b/components/Helpers/samples/ScreenUnitHelper.md @@ -12,7 +12,7 @@ issue-id: 0 icon: Assets/ScreenUnitHelper.png --- -The [ScreenUnitHelper](/dotnet/api/microsoft.toolkit.uwp.helpers.screenunithelper) helps to convert a screen unit to another screen unit (ex: 1cm => 39.7953px). +The ScreenUnitHelper helps to convert a screen unit to another screen unit (ex: 1cm => 39.7953px). ```csharp float result = ScreenUnitHelper.Convert(ScreenUnit.Inch, ScreenUnit.Pixel, 1); // 96 diff --git a/components/ImageCropper/samples/ImageCropper.md b/components/ImageCropper/samples/ImageCropper.md index 4e92d944..df2043ab 100644 --- a/components/ImageCropper/samples/ImageCropper.md +++ b/components/ImageCropper/samples/ImageCropper.md @@ -14,7 +14,7 @@ icon: Assets/ImageCropper.png # ImageCropper -The [ImageCropper Control](/dotnet/api/microsoft.toolkit.uwp.ui.controls.imagecropper) allows user to freely crop an image. +The ImageCropper Control allows user to freely crop an image. > [!Sample ImageCropperSample] diff --git a/components/LayoutTransformControl/samples/LayoutTransformControl.md b/components/LayoutTransformControl/samples/LayoutTransformControl.md index 4238071b..9724aeaa 100644 --- a/components/LayoutTransformControl/samples/LayoutTransformControl.md +++ b/components/LayoutTransformControl/samples/LayoutTransformControl.md @@ -12,7 +12,7 @@ issue-id: 0 icon: Assets/LayoutTransformControl.png --- -The [LayoutTransformControl](/dotnet/api/microsoft.toolkit.uwp.ui.controls.layouttransformcontrol) is a control that applies Matrix transformations on any `FrameworkElement` of your application. +The LayoutTransformControl is a control that applies Matrix transformations on any `FrameworkElement` of your application. The transformations that can be applied are one of the following: diff --git a/components/Primitives/samples/ConstrainedBox.md b/components/Primitives/samples/ConstrainedBox.md index e63e5dd7..9016c351 100644 --- a/components/Primitives/samples/ConstrainedBox.md +++ b/components/Primitives/samples/ConstrainedBox.md @@ -15,7 +15,7 @@ icon: Assets/ConstrainedBox.png > [!NOTE] > For technical reasons this control inherits from `ContentPresenter`; however, it should be treated as a `FrameworkElement` and its border and template properties should not be used for compatibility in the future when it can inherit from FrameworkElement directly. -> **Platform APIs:** [`ConstrainedBox`](/dotnet/api/microsoft.toolkit.uwp.ui.controls.constrainedbox), [`AspectRatio`](/dotnet/api/microsoft.toolkit.uwp.ui.controls.aspectratio) +> **Platform APIs:** `ConstrainedBox`, `AspectRatio` The three constraints provided by the `ConstrainedBox` control can be used individually & independently or combined to provide a wide-variety of responsive layout options. When used in combination, for the properties used, they are always applied in the following order: diff --git a/components/Primitives/samples/StaggeredSamples.md b/components/Primitives/samples/StaggeredSamples.md index 670f6359..0460c108 100644 --- a/components/Primitives/samples/StaggeredSamples.md +++ b/components/Primitives/samples/StaggeredSamples.md @@ -14,13 +14,13 @@ icon: Assets/StaggeredPanel.png # StaggeredLayout -The [StaggeredLayout](/dotnet/api/microsoft.toolkit.uwp.ui.controls.staggeredlayout) allows for layout of items in a column approach where an item will be added to whichever column has used the least amount of space. +The StaggeredLayout allows for layout of items in a column approach where an item will be added to whichever column has used the least amount of space. > [!SAMPLE StaggeredLayoutSample] # StaggeredPanel -The [StaggeredPanel](/dotnet/api/microsoft.toolkit.uwp.ui.controls.staggeredpanel) allows for layout of items in a column approach where an item will be added to whichever column has used the least amount of space. +The StaggeredPanel allows for layout of items in a column approach where an item will be added to whichever column has used the least amount of space. ```xaml diff --git a/components/RichSuggestBox/samples/RichSuggestBox.md b/components/RichSuggestBox/samples/RichSuggestBox.md index 2fb79b49..2271fe33 100644 --- a/components/RichSuggestBox/samples/RichSuggestBox.md +++ b/components/RichSuggestBox/samples/RichSuggestBox.md @@ -12,7 +12,7 @@ issue-id: 0 icon: Assets/RichSuggestBox.png --- -The [RichSuggestBox](/dotnet/api/microsoft.toolkit.uwp.ui.controls.richsuggestbox) is a combination of [AutoSuggestBox](/uwp/api/windows.ui.xaml.controls.autosuggestbox) and [RichEditBox](/uwp/api/windows.ui.xaml.controls.richeditbox) that can provide suggestions based on customizable prefixes. Selected suggestions are embedded and tracked in the document as tokens. +The RichSuggestBox is a combination of [AutoSuggestBox](/uwp/api/windows.ui.xaml.controls.autosuggestbox) and [RichEditBox](/uwp/api/windows.ui.xaml.controls.richeditbox) that can provide suggestions based on customizable prefixes. Selected suggestions are embedded and tracked in the document as tokens. RichSuggestBox resembles text controls commonly found in social applications where you type "@" to mention people. @@ -29,7 +29,7 @@ RichSuggestBox resembles text controls commonly found in social applications whe ## Remarks -When a suggestion is selected, `RichSuggestBox` assigns the selected item a unique [Guid](/dotnet/api/system.guid) and a display text (provided by the developer) to make up a token. The display text is then padded with [Zero Width Space](https://unicode-table.com/200B/)s (ZWSP) and inserted into the document as a hyperlink using the identifier as the link address. These hyperlinks are tracked and validated on every text change. +When a suggestion is selected, `RichSuggestBox` assigns the selected item a unique Guid and a display text (provided by the developer) to make up a token. The display text is then padded with [Zero Width Space](https://unicode-table.com/200B/)s (ZWSP) and inserted into the document as a hyperlink using the identifier as the link address. These hyperlinks are tracked and validated on every text change. The token text inserted into the document has the following layout: ZWSP - Prefix character - Display text - ZWSP. diff --git a/components/TokenizingTextBox/samples/TokenizingTextBox.md b/components/TokenizingTextBox/samples/TokenizingTextBox.md index 074186e8..df509d5f 100644 --- a/components/TokenizingTextBox/samples/TokenizingTextBox.md +++ b/components/TokenizingTextBox/samples/TokenizingTextBox.md @@ -12,6 +12,6 @@ issue-id: 0 icon: Assets/TokenizingTextBox.png --- -The [TokenizingTextBox](/dotnet/api/microsoft.toolkit.uwp.ui.controls.tokenizingtextbox) is an advanced [AutoSuggestBox](/uwp/api/Windows.UI.Xaml.Controls.AutoSuggestBox) which will display selected items as tokens within the textbox. A user can easily see the picked items or remove them easily. +The TokenizingTextBox is an advanced [AutoSuggestBox](/uwp/api/Windows.UI.Xaml.Controls.AutoSuggestBox) which will display selected items as tokens within the textbox. A user can easily see the picked items or remove them easily. > [!Sample TokenizingTextBoxSample]