diff --git a/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/TokenizingTextBoxPage.xaml.cs b/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/TokenizingTextBoxPage.xaml.cs index 9e8909f6673..990c4bcbefd 100644 --- a/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/TokenizingTextBoxPage.xaml.cs +++ b/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/TokenizingTextBoxPage.xaml.cs @@ -90,7 +90,9 @@ public sealed partial class TokenizingTextBoxPage : Page, IXamlRenderListener private AdvancedCollectionView _acv; private AdvancedCollectionView _acvEmail; - private ObservableCollection _selectedEmails; + public ObservableCollection SelectedTokens { get; set; } + + public ObservableCollection SelectedEmails { get; set; } public TokenizingTextBoxPage() { @@ -112,7 +114,10 @@ public TokenizingTextBoxPage() public void OnXamlRendered(FrameworkElement control) { - _selectedEmails = new ObservableCollection(); + SelectedTokens = new(); + SelectedEmails = new(); + + control.DataContext = this; if (_ttb != null) { @@ -150,7 +155,6 @@ public void OnXamlRendered(FrameworkElement control) { _ttbEmail = ttbEmail; - _ttbEmail.ItemsSource = _selectedEmails; _ttbEmail.ItemClick += EmailTokenItemClick; _ttbEmail.TokenItemAdding += EmailTokenItemAdding; _ttbEmail.TokenItemAdded += EmailTokenItemAdded; diff --git a/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/TokenizingTextBoxXaml.bind b/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/TokenizingTextBoxXaml.bind index fca7b60e1de..5be567b0947 100644 --- a/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/TokenizingTextBoxXaml.bind +++ b/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/TokenizingTextBoxXaml.bind @@ -37,6 +37,7 @@ Current Edit: - + @@ -73,6 +74,7 @@ Margin="0,0,0,4"/> Windows Community Toolkit - UI Behaviors This library provides UI behaviors built on the XAML behaviors SDK. It is a part of the Windows Community Toolkit. - - Behaviors: - - BehaviorBase: Helper for building Behaviors + + - Animation: Various helpers for integration with the Toolkit's Animation package. - AutoFocusBehevior: Sets focus to the associated control. - - FocusBehavior: Sets focus to a specified control. - - ViewportBehavior: Listening for element to enter or exit the ScrollViewer viewport + - AutoSelectBehavior: Selects a TextBox's text automatically. - FadeHeaderBehavior, QuickReturnHeaderBehavior, StickyHeaderBehavior: Helpers for ListViewBase Header Behavior + - FocusBehavior: Sets focus to a specified control. + - KeyDownTriggerBehavior: Trigger behaviors when a key is pressed. + - ViewportBehavior: Listening for element to enter or exit the ScrollViewer viewport - UI;XAML;Behaviors;Interactivity;Interaction;Focus;Header;Viewport + UI;XAML;Behaviors;Interactivity;Interaction;Focus;Header;Viewport;Selection;Focus;KeyDown;Triggers;Viewport diff --git a/Microsoft.Toolkit.Uwp.UI.Controls.Core/Microsoft.Toolkit.Uwp.UI.Controls.Core.csproj b/Microsoft.Toolkit.Uwp.UI.Controls.Core/Microsoft.Toolkit.Uwp.UI.Controls.Core.csproj index c183de922ca..7179d2b0382 100644 --- a/Microsoft.Toolkit.Uwp.UI.Controls.Core/Microsoft.Toolkit.Uwp.UI.Controls.Core.csproj +++ b/Microsoft.Toolkit.Uwp.UI.Controls.Core/Microsoft.Toolkit.Uwp.UI.Controls.Core.csproj @@ -16,6 +16,7 @@ - ImageEx: Images are downloaded asynchronously showing a load indicator and can be stored in a local cache. - InAppNotification: Show local notifications in your application. - Loading: Helps to show content with animation to the user while the app is doing some calculation. + - MetadataControl: Control for organizing text based categories with a separator, supports commands. - RadialProgressBar: Displays progress as a circle getting filled. - RotatorTile: Rotates through a set of items one-by-one like a live-tile. - TabbedCommandBar: A command bar that organizes features of an application into a series of tabs. @@ -29,6 +30,7 @@ Image;Ex ;ImageEx ; In;App;Notification;InAppNotification;InApp ; Loading ; + Metadata;Tags; Radial;Progress;Bar;RadialProgressBar;ProgressBar ; Rotator;Tile ;RotatorTile ; Tabbed;Command;Bar ;TabbedCommandBar ;CommandBar ; diff --git a/Microsoft.Toolkit.Uwp.UI.Controls.Input/Microsoft.Toolkit.Uwp.UI.Controls.Input.csproj b/Microsoft.Toolkit.Uwp.UI.Controls.Input/Microsoft.Toolkit.Uwp.UI.Controls.Input.csproj index 292a821d980..454a8b8e3fc 100644 --- a/Microsoft.Toolkit.Uwp.UI.Controls.Input/Microsoft.Toolkit.Uwp.UI.Controls.Input.csproj +++ b/Microsoft.Toolkit.Uwp.UI.Controls.Input/Microsoft.Toolkit.Uwp.UI.Controls.Input.csproj @@ -15,6 +15,7 @@ - RadialGauge: Displays a value within a range, using a needle on a circular face. - RangeSelector: "Double slider" control for range values. - RemoteDevicePicker: Remote Device Picker Control for Project Rome. + - RichSuggestBox: RichEditBox which supports at mentioning or tags. - TokenizingTextBox: An AutoSuggestBox like control which places entered input into easily removed containers for contacts or tags. @@ -23,6 +24,7 @@ Radial;Gauge ;RadialGauge ; Range;Selector ;RangeSelector ; Remote;Device;Picker;RemoteDevicePicker;DevicePicker;RemoteDevice; + RichEditBox;RichSuggestBox;Suggestions;Mentions;Tags; Tokenizing;Text;Box ;TokenizingTextBox ;TextBox ; diff --git a/Microsoft.Toolkit.Uwp.UI.Controls.Primitives/Microsoft.Toolkit.Uwp.UI.Controls.Primitives.csproj b/Microsoft.Toolkit.Uwp.UI.Controls.Primitives/Microsoft.Toolkit.Uwp.UI.Controls.Primitives.csproj index d290863d468..88930723d43 100644 --- a/Microsoft.Toolkit.Uwp.UI.Controls.Primitives/Microsoft.Toolkit.Uwp.UI.Controls.Primitives.csproj +++ b/Microsoft.Toolkit.Uwp.UI.Controls.Primitives/Microsoft.Toolkit.Uwp.UI.Controls.Primitives.csproj @@ -12,6 +12,7 @@ Controls: - AdaptiveGridView: Presents items in an evenly-spaced set of columns to fill the total available space. + - ConstrainedBox: Constrain child element by aspect ratio, scale, or multiple. - DockPanel: Define areas where you can arrange child elements either horizontally or vertically, relative to each other. - StaggeredLayout: Layout of items in a column approach where an item will be added to whichever column has used the least amount of space. - StaggeredPanel: Layout of items in a column approach where an item will be added to whichever column has used the least amount of space. @@ -23,6 +24,7 @@ Controls;XAML;UI; Adaptive;Grid;View;AdaptiveGridView;GridView ;AdaptiveGrid ; + Constrained;Box;ConstrainedBox;AspectRatio;Aspect;Scale;Multiple; Dock;Panel ;DockPanel ; Staggered;Layout ;StaggeredLayout ; Staggered;Panel ;StaggeredPanel ; diff --git a/Microsoft.Toolkit.Uwp.UI.Media/Microsoft.Toolkit.Uwp.UI.Media.csproj b/Microsoft.Toolkit.Uwp.UI.Media/Microsoft.Toolkit.Uwp.UI.Media.csproj index 36de7eb8828..b3355b31554 100644 --- a/Microsoft.Toolkit.Uwp.UI.Media/Microsoft.Toolkit.Uwp.UI.Media.csproj +++ b/Microsoft.Toolkit.Uwp.UI.Media/Microsoft.Toolkit.Uwp.UI.Media.csproj @@ -7,20 +7,9 @@ Windows Community Toolkit - UI Media - This library provides UI brushes. It is a part of the Windows Community Toolkit. + This library provides UI effects which rely on Win2D. It is a part of the Windows Community Toolkit. - Media: - - AcrylicBrush: A custom Brush that that implements an acrylic effect with full control over all parameters. - - BackdropBlurBrush: The BackdropBlurBrush is a Brush that blurs whatever is behind it in the application. - - BackdropGammaTransferBrush: A brush which alters the colors of whatever is behind it in the application by applying a per-channel gamma transfer function. - - BackdropInvertBrush: The BackdropInvertBrush is a Brush which inverts whatever is behind it in the application. - - BackdropSaturationBrush: Brush which applies a SaturationEffect to the Backdrop. - - BackdropSepiaBrush: Brush which applies a SepiaEffect to the Backdrop. - - CanvasBrushBase: Helper Brush class to interop with Win2D Canvas calls. - - ImageBlendBrush: A Brush which blends a BitmapImage to the Backdrop in a given mode. - - PipelineBrush: A Brush that renders a customizable Composition/Win2D effects pipeline - - RadialGradientBrush: This GradientBrush defines its Gradient as an interpolation within an Ellipse. - - TilesBrush: A Brush that displays a tiled image, wrapping at the edges and endlessly repeating. + AttachedCardShadow: Provides an easy-to-use, simple, and performant rounded-rectangle shadow effect. Effects: - AcrylicEffect: A custom acrylic effect that can be inserted into a pipeline. @@ -33,15 +22,28 @@ - TileEffect: An effect that loads an image and replicates it to cover all the available surface area. - ExposureEffect, GrayscaleEffect, HueRotationEffect and more, mapping to Win2D effects. + Geometry: + - CanvasPathGeometry: A class that parses Win2d Path Mini Language and converts it to CanvasGeometry, CanvasBrush, CanvasStroke, CanvasStrokeStyle or Color. + Helpers: - SurfaceLoader: A class that can load and draw images and other objects to Win2D surfaces and brushes. - PipelineBuilder: A class that allows to build custom effects pipelines and create CompositionBrush instances from them. + Media: + - AcrylicBrush: A custom Brush that that implements an acrylic effect with full control over all parameters. + - BackdropBlurBrush: The BackdropBlurBrush is a Brush that blurs whatever is behind it in the application. + - BackdropGammaTransferBrush: A brush which alters the colors of whatever is behind it in the application by applying a per-channel gamma transfer function. + - BackdropInvertBrush: The BackdropInvertBrush is a Brush which inverts whatever is behind it in the application. + - BackdropSaturationBrush: Brush which applies a SaturationEffect to the Backdrop. + - BackdropSepiaBrush: Brush which applies a SepiaEffect to the Backdrop. + - CanvasBrushBase: Helper Brush class to interop with Win2D Canvas calls. + - ImageBlendBrush: A Brush which blends a BitmapImage to the Backdrop in a given mode. + - PipelineBrush: A Brush that renders a customizable Composition/Win2D effects pipeline + - RadialGradientBrush: This GradientBrush defines its Gradient as an interpolation within an Ellipse. + - TilesBrush: A Brush that displays a tiled image, wrapping at the edges and endlessly repeating. - Geometry: - - CanvasPathGeometry: A class that parses Win2d Path Mini Language and converts it to CanvasGeometry, CanvasBrush, CanvasStroke, CanvasStrokeStyle or Color. + PipelineBuilder: A class that allows to build custom effects pipelines and create CompositionBrush instances from them. - UI;XAML;Acrylic;Brushes;Blur;Effects;Canvas;Geometry + UI;XAML;Acrylic;Brushes;Blur;Effects;Canvas;Geometry;Shadow;Shadows;Animation diff --git a/Microsoft.Toolkit.Uwp.UI/Microsoft.Toolkit.Uwp.UI.csproj b/Microsoft.Toolkit.Uwp.UI/Microsoft.Toolkit.Uwp.UI.csproj index aa8d9c21ba4..276b8de7388 100644 --- a/Microsoft.Toolkit.Uwp.UI/Microsoft.Toolkit.Uwp.UI.csproj +++ b/Microsoft.Toolkit.Uwp.UI/Microsoft.Toolkit.Uwp.UI.csproj @@ -9,7 +9,7 @@ Windows Community Toolkit - UI - This library provides UI components, such as XAML extensions, helpers, converters and more. It is a part of the Windows Community Toolkit. + This library provides various common UI helpers. It is a part of the Windows Community Toolkit. AdvancedCollectionView: It's a collection view implementation that support filtering, sorting and incremental loading. It's meant to be used in a viewmodel. @@ -19,6 +19,7 @@ Extensions: - ApplicationViewExtensions: Provides attached properties for interacting with the ApplicationView on a window (app view). + - AttachedDropShadow: Provides a composition based shadow effect which supports masking. - FrameworkElementExtensions: Provides attached dependency properties for the FrameworkElement. - ListViewExtensions: Provides attached dependency properties for the ListViewBase - LogicalTree: Defines a collection of extensions methods for UI. @@ -42,8 +43,10 @@ - BindableValueHolder: Holds the value. Can be used to change several objects' properties at a time. - DependencyPropertyWatcher: Used to Track Changes of a Dependency Property - ThemeListener: Class which listens for changes to Application Theme or High Contrast Modes and Signals an Event when they occur. + + Triggers: Various Visual State Triggers to help trigger VisualStates in a wide variety of scenarios. - UI;XAML;ApplicationView;FrameworkElement;SurfaceDial;Matrix;Mouse;TextBoxMask;TitleBar;VisualTree;Converters;Extensions;Helpers + UI;XAML;ApplicationView;FrameworkElement;ListView;SurfaceDial;Matrix;Mouse;TextBoxMask;TitleBar;VisualTree;Converters;Extensions;Helpers diff --git a/Microsoft.Toolkit.Uwp/Microsoft.Toolkit.Uwp.csproj b/Microsoft.Toolkit.Uwp/Microsoft.Toolkit.Uwp.csproj index 0183e9525fb..eff954a7bb1 100644 --- a/Microsoft.Toolkit.Uwp/Microsoft.Toolkit.Uwp.csproj +++ b/Microsoft.Toolkit.Uwp/Microsoft.Toolkit.Uwp.csproj @@ -6,8 +6,8 @@ Windows Community Toolkit - Common (UWP) - This package includes code only helpers such as Colors conversion tool, Storage file handling, a Stream helper class, etc. - Storage;File;Folder;Color;Conversion;Stream;Helpers;Extensions + This package includes code only helpers such as Color conversion tool, Storage file handling, a Stream helper class, SystemInformation helpers, etc. + Storage;File;Folder;Color;Conversion;Stream;Helpers;Extensions;System;Information diff --git a/Windows Community Toolkit.sln b/Windows Community Toolkit.sln index 4dae01f1765..c09b6446a9a 100644 --- a/Windows Community Toolkit.sln +++ b/Windows Community Toolkit.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31521.260 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31605.320 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{9AD30620-667D-433C-9961-8D885EE7B762}" EndProject @@ -50,6 +50,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Directory.Build.targets = Directory.Build.targets global.json = global.json settings.xamlstyler = settings.xamlstyler + build\Windows.Toolkit.Common.props = build\Windows.Toolkit.Common.props + build\Windows.Toolkit.Common.targets = build\Windows.Toolkit.Common.targets + build\Windows.Toolkit.UWP.Build.targets = build\Windows.Toolkit.UWP.Build.targets + build\Windows.Toolkit.UWP.Controls.targets = build\Windows.Toolkit.UWP.Controls.targets + build\Windows.Toolkit.VisualStudio.Design.props = build\Windows.Toolkit.VisualStudio.Design.props + build\Windows.Toolkit.VisualStudio.Design.targets = build\Windows.Toolkit.VisualStudio.Design.targets + build\Windows.Toolkit.Workarounds.Xaml.targets = build\Windows.Toolkit.Workarounds.Xaml.targets EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Toolkit.Uwp.UI.Controls.Core.DesignTools", "Microsoft.Toolkit.Uwp.UI.Controls.Core.Design\Microsoft.Toolkit.Uwp.UI.Controls.Core.DesignTools.csproj", "{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}" diff --git a/build/Windows.Toolkit.Common.targets b/build/Windows.Toolkit.Common.targets index b73fa48f26a..61ae0c52034 100644 --- a/build/Windows.Toolkit.Common.targets +++ b/build/Windows.Toolkit.Common.targets @@ -15,6 +15,7 @@ +