From 1b89b3e37deb9f96237ad9db7cb1e4896fb74e7b Mon Sep 17 00:00:00 2001 From: michael-hawker <24302614+michael-hawker@users.noreply.github.com> Date: Fri, 1 Sep 2023 20:04:47 -0700 Subject: [PATCH 1/4] Do a pass on spelling and markdown linting in markdown only Caught one issue with spelling in a parameter name as it was in the sample, but didn't explicitly spell check code or sample code... --- .../Animations/samples/ConnectedAnimations.md | 7 +++---- components/Behaviors/samples/Behaviors.md | 2 ++ .../CameraPreview/samples/CameraPreview.md | 1 - components/Converters/samples/Converters.md | 19 +++++++++++++++++-- .../Extensions/samples/ListViewExtensions.md | 4 ++-- .../Extensions/samples/MatrixExtensions.md | 1 - .../samples/ScrollViewerExtensions.md | 2 +- .../Extensions/samples/StringExtensions.md | 4 ++-- ...ListViewExtensions.SmoothScrollIntoView.cs | 6 +++--- .../samples/HeaderedItemsControl.md | 14 ++------------ .../samples/HeaderedTreeView.md | 15 ++------------- components/Helpers/samples/CameraHelper.md | 1 - components/Helpers/samples/ColorHelper.md | 2 +- components/Helpers/samples/ThemeListener.md | 2 +- .../ImageCropper/samples/ImageCropper.md | 3 --- components/Media/samples/EffectAnimations.md | 4 ++-- .../Primitives/samples/StaggeredSamples.md | 8 +++++--- components/Primitives/samples/WrapPanel.md | 1 - .../RangeSelector/samples/RangeSelector.md | 2 +- .../RichSuggestBox/samples/RichSuggestBox.md | 2 -- components/Segmented/samples/Segmented.md | 3 ++- .../SettingsControls/samples/SettingsCard.md | 2 +- .../samples/SettingsExpander.md | 2 +- components/Sizers/samples/ContentSizer.md | 2 +- components/Sizers/samples/GridSplitter.md | 2 +- components/Sizers/samples/PropertySizer.md | 4 ++-- components/Sizers/samples/SizerControls.md | 2 +- components/Triggers/samples/Triggers.md | 1 + 28 files changed, 54 insertions(+), 64 deletions(-) diff --git a/components/Animations/samples/ConnectedAnimations.md b/components/Animations/samples/ConnectedAnimations.md index 25a641b1..7f8b6d20 100644 --- a/components/Animations/samples/ConnectedAnimations.md +++ b/components/Animations/samples/ConnectedAnimations.md @@ -89,18 +89,18 @@ Unregisters an element (part of a DataTemplate in a list control) from the Conne The helper uses the page navigation parameter to decide which list item will be animated during the page navigation. However, in some cases the parameter passed during page navigation is not part of the list. For example, you might be only passing the id of an item as a navigation parameter and not the item itself. -In those cases, you can use the **SetListDataItemForNextConnectedAnnimation** extension method before page navigation to specify which item should be animated. +In those cases, you can use the **SetListDataItemForNextConnectedAnimation** extension method before page navigation to specify which item should be animated. ```csharp // dataItemToAnimate is an object in the ListViewBase.ItemsSource collection - Frame.SetListDataItemForNextConnectedAnnimation(dataItemToAnimate); + Frame.SetListDataItemForNextConnectedAnimation(dataItemToAnimate); Frame.Navigate(typeof(DetailsPage), dataItemToAnimate.Id); ``` This method is also helpful when navigating back to an item different from the item it was navigated from. ```csharp - Frame.SetListDataItemForNextConnectedAnnimation(dataItemToAnimate); + Frame.SetListDataItemForNextConnectedAnimation(dataItemToAnimate); Frame.GoBack(); ``` @@ -174,4 +174,3 @@ In this page, you just need to give the same key. ``` - diff --git a/components/Behaviors/samples/Behaviors.md b/components/Behaviors/samples/Behaviors.md index 0ae7a213..6e507a66 100644 --- a/components/Behaviors/samples/Behaviors.md +++ b/components/Behaviors/samples/Behaviors.md @@ -29,6 +29,7 @@ The AutoSelectBehavior automatically selects the entire content of its associate > [!Sample AutoSelectBehaviorSample] ## ViewportBehavior + This behavior allows you to listen an element enter or exit the ScrollViewer viewport. > [!Sample ViewportBehaviorSample] @@ -44,6 +45,7 @@ Empty lists do not receive focus: > [!Sample FocusBehaviorListSample] ## NavigateToUriAction + This behavior allows you to define a Uri in XAML, similar to a `Hyperlink` or `HyperlinkButton`. This allows you to use a `Button` and still define the Uri in XAML without wiring up the `Click` event in code-behind, or restyling a `HyperlinkButton`. > [!Sample NavigateToUriActionSample] diff --git a/components/CameraPreview/samples/CameraPreview.md b/components/CameraPreview/samples/CameraPreview.md index a0e4bce8..9475d19b 100644 --- a/components/CameraPreview/samples/CameraPreview.md +++ b/components/CameraPreview/samples/CameraPreview.md @@ -45,7 +45,6 @@ private void CameraPreviewControl_PreviewFailed(object sender, PreviewFailedEven > [!IMPORTANT] > As a developer, you will need to make sure the CameraHelper resources used by the control are cleaned up when appropriate. See [CameraHelper documentation](../helpers/CameraHelper.md) for more details - ## Examples Demonstrates using the camera control and camera helper to preview video from a specific media frame source group. diff --git a/components/Converters/samples/Converters.md b/components/Converters/samples/Converters.md index cc9fc270..c908a1e8 100644 --- a/components/Converters/samples/Converters.md +++ b/components/Converters/samples/Converters.md @@ -15,56 +15,67 @@ icon: Assets/Converters.png Converters are an easy way to handle situations where the source and target properties are of a different type. These are often declared in the `.Resources` of your app or page and can be referenced in XAML. In some cases, default converter values can be inverted by setting `ConverterParameter=True`. ## BoolNegationConverter + Converts a boolean to the inverse value (True to False and vice versa) > [!Sample BoolNegationConverterSample] ## BoolToObjectConverter + Converts a boolean value into an other object. Can be used to convert true/false to e.g. visibility, color, or different images. > [!Sample BoolToObjectConverterSample] ## BoolToVisibilityConverter + Converts a boolean value into a `Visibility` enumeration. The `ConverterParameter` can be used to invert the logic. > [!Sample BoolToVisibilityConverterSample] ## ColorToDisplayNameConverter + Converts a color to the approximated display name. > [!Sample ColorToDisplayNameConverterSample] ## DoubleToObjectConverter + Converts a double value into an other object. Can be used to convert doubles to e.g. visibility, colors , or different images. If `GreaterThan` and `LessThan` are both set, the logic looks for a value between the two values. Otherwise the logic looks for the value to be `GreaterThan` or `LessThan` the specified value. > [!Sample DoubleToObjectConverterSample] ## DoubleToVisibilityConverter + Converts a double value into an other object. Can be used to convert doubles to e.g. visibility, colors , or different images. If `GreaterThan` and `LessThan` are both set, the logic looks for a value between the two values. Otherwise the logic looks for the value to be `GreaterThan` or `LessThan` the specified value. > [!Sample DoubleToVisibilityConverterSample] ## EmptyCollectionToObjectConverter & CollectionVisibilityConverter + Converts a collection size into an other object. Can be used to convert to bind a visibility, a color or an image to the size of the collection. The `CollectionVisibilityConverter` is derived from it and can be easily used to convert a collection into a `Visibility` enumeration (Collapsed if the given collection is empty or null). -Note: this converter only checks the initial state of a collection and does not detect any updates. For that scenario, using a `IsNullOrEmptyStateTrigger` is more appropriate. +Note: this converter only checks the initial state of a collection and does not detect any updates. For that scenario, using a `IsNullOrEmptyStateTrigger` is more appropriate. > [!Sample CollectionVisibilityConverterSample] ## EmptyObjectToObjectConverter, EmptyStringToObjectConverter & StringToVisibilityConverter + Converts an object value into a an object (if the value is null returns the false value). Can be used to bind a visibility, a color or an image to the value of an object. The `EmptyStringToObjectConverter` converts a string value into a an object (if the value is null or empty returns the false value). Can be used to bind a visibility, a color or an image to the value of a string. > [!Sample EmptyStringToObjectConverterSample] ## FileSizeToFriendlyStringConverter + Converts a file size in bytes to a more human-readable friendly format using `ToFileSizeString(Int64)`. > [!Sample FileSizeToFriendlyStringConverterSample] ## ResourceNameToResourceStringConverter + 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](https://learn.microsoft.com/dotnet/api/system.string.format?view=netstandard-2.0). It only allows for a single input value (the binding string), but can be formatted with the regular string.Format methods. @@ -72,18 +83,22 @@ methods. > [!Sample StringFormatConverterSample] ## StringVisibilityConverter + Converts a string value into a Visibility value (if the value is null or empty returns a collapsed value). > [!Sample StringVisibilityConverterSample] ## TaskResultConverter + Converter that can be used to safely retrieve results from `Task` instances. See the [MVVM Toolkit Gallery](https://aka.ms/mvvmtoolkit/app) for an example. ## TypeToObjectConverter + Returns an object or another, depending on whether the type of the provided value matches another provided Type. > [!Sample TypeToObjectConverterSample] ## VisibilityToBoolConverter -Converts a `Visibility` enumaration to a boolean value. + +Converts a `Visibility` enumeration to a boolean value. > [!Sample VisibilityToBoolConverterSample] diff --git a/components/Extensions/samples/ListViewExtensions.md b/components/Extensions/samples/ListViewExtensions.md index ed500289..682cd597 100644 --- a/components/Extensions/samples/ListViewExtensions.md +++ b/components/Extensions/samples/ListViewExtensions.md @@ -113,10 +113,10 @@ Use SmoothScrollIntoView helps to scroll the item into the view with animation. ```csharp // Scrolling with index -await MyGridView.SmoothScrollIntoViewWithIndexAsync(index: int, itemPlacement: ItemPlacement, disableAnimation: bool, scrollIfVisibile: bool, additionalHorizontalOffset: int, additionalVerticalOffset: int); +await MyGridView.SmoothScrollIntoViewWithIndexAsync(index: int, itemPlacement: ItemPlacement, disableAnimation: bool, scrollIfVisible: bool, additionalHorizontalOffset: int, additionalVerticalOffset: int); // Scrolling with item -await MyGridView.SmoothScrollIntoViewWithItemAsync(item: object, itemPlacement: ItemPlacement, disableAnimation: bool, scrollIfVisibile: bool, additionalHorizontalOffset: int, additionalVerticalOffset: int); +await MyGridView.SmoothScrollIntoViewWithItemAsync(item: object, itemPlacement: ItemPlacement, disableAnimation: bool, scrollIfVisible: bool, additionalHorizontalOffset: int, additionalVerticalOffset: int); ``` We can use this extension to make the selected item always centered: diff --git a/components/Extensions/samples/MatrixExtensions.md b/components/Extensions/samples/MatrixExtensions.md index 26cc8bda..3b03522c 100644 --- a/components/Extensions/samples/MatrixExtensions.md +++ b/components/Extensions/samples/MatrixExtensions.md @@ -13,4 +13,3 @@ icon: Assets/Extensions.png --- The `MatrixExtensions` type provides methods to transform a [`Matrix`](https://learn.microsoft.com/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](https://learn.microsoft.com/dotnet/api/system.windows.media.matrix) class. - diff --git a/components/Extensions/samples/ScrollViewerExtensions.md b/components/Extensions/samples/ScrollViewerExtensions.md index b21bd7cf..4647c871 100644 --- a/components/Extensions/samples/ScrollViewerExtensions.md +++ b/components/Extensions/samples/ScrollViewerExtensions.md @@ -90,7 +90,7 @@ public class DoubleTopThicknessConverter : IValueConverter Here is how this property can be used in XAML: ```xaml - + diff --git a/components/Extensions/samples/StringExtensions.md b/components/Extensions/samples/StringExtensions.md index 3fbfd5cb..8b6e938d 100644 --- a/components/Extensions/samples/StringExtensions.md +++ b/components/Extensions/samples/StringExtensions.md @@ -20,10 +20,10 @@ The `StringExtensions` type contains helpers and extensions for `string` objects using CommunityToolkit.WinUI; string str = "test@test.com"; -bool isvalid = str.IsEmail(); //Returns true +bool isValid = str.IsEmail(); //Returns true string str = "123+888"; -bool isvalid = str.IsDecimal(); //Returns false +bool isValid = str.IsDecimal(); //Returns false ``` ### Formats Supported for **IsPhoneNumber** Extension diff --git a/components/Extensions/src/ListViewBase/ListViewExtensions.SmoothScrollIntoView.cs b/components/Extensions/src/ListViewBase/ListViewExtensions.SmoothScrollIntoView.cs index a9d5df0e..8e529f50 100644 --- a/components/Extensions/src/ListViewBase/ListViewExtensions.SmoothScrollIntoView.cs +++ b/components/Extensions/src/ListViewBase/ListViewExtensions.SmoothScrollIntoView.cs @@ -180,13 +180,13 @@ public static async Task SmoothScrollIntoViewWithIndexAsync(this ListViewBase li /// The data item to bring into view /// Set the item placement after scrolling /// Set true to disable animation - /// Set true to disable scrolling when the corresponding item is in view + /// Set true to disable scrolling when the corresponding item is in view /// Adds additional horizontal offset /// Adds additional vertical offset /// Returns that completes after scrolling - public static async Task SmoothScrollIntoViewWithItemAsync(this ListViewBase listViewBase, object item, ScrollItemPlacement itemPlacement = ScrollItemPlacement.Default, bool disableAnimation = false, bool scrollIfVisibile = true, int additionalHorizontalOffset = 0, int additionalVerticalOffset = 0) + public static async Task SmoothScrollIntoViewWithItemAsync(this ListViewBase listViewBase, object item, ScrollItemPlacement itemPlacement = ScrollItemPlacement.Default, bool disableAnimation = false, bool scrollIfVisible = true, int additionalHorizontalOffset = 0, int additionalVerticalOffset = 0) { - await SmoothScrollIntoViewWithIndexAsync(listViewBase, listViewBase.Items.IndexOf(item), itemPlacement, disableAnimation, scrollIfVisibile, additionalHorizontalOffset, additionalVerticalOffset); + await SmoothScrollIntoViewWithIndexAsync(listViewBase, listViewBase.Items.IndexOf(item), itemPlacement, disableAnimation, scrollIfVisible, additionalHorizontalOffset, additionalVerticalOffset); } /// diff --git a/components/HeaderedControls/samples/HeaderedItemsControl.md b/components/HeaderedControls/samples/HeaderedItemsControl.md index 00a769b1..1ebcc1fe 100644 --- a/components/HeaderedControls/samples/HeaderedItemsControl.md +++ b/components/HeaderedControls/samples/HeaderedItemsControl.md @@ -11,20 +11,10 @@ discussion-id: 0 issue-id: 0 icon: Assets/HeaderedItemsControl.png --- -The `Header` property can be any object and you can use the `HeaderTemplate` to specify a custom look to the header. Similiar objects can be set for the `Footer` and `FooterTemplate`. + +The `Header` property can be any object and you can use the `HeaderTemplate` to specify a custom look to the header. Similar objects can be set for the `Footer` and `FooterTemplate`. > [!NOTE] > Setting the `Background`, `BorderBrush` and `BorderThickness` properties will not have any effect on the HeaderedItemsControl. This is to maintain the same functionality as the ItemsControl. > [!Sample HeaderedItemsControlSample] - -## Syntax - -```xaml - - - - - -``` \ No newline at end of file diff --git a/components/HeaderedControls/samples/HeaderedTreeView.md b/components/HeaderedControls/samples/HeaderedTreeView.md index d610bf79..7d87b4a3 100644 --- a/components/HeaderedControls/samples/HeaderedTreeView.md +++ b/components/HeaderedControls/samples/HeaderedTreeView.md @@ -1,6 +1,6 @@ --- title: HeaderedTreeView -author: michaelhawker +author: michael-hawker description: The HeaderedTreeView allows a treeview to be displayed with a specified header. keywords: HeaderedTreeView, Control, Layout, treeview dev_langs: @@ -11,18 +11,7 @@ discussion-id: 0 issue-id: 0 icon: Assets/HeaderedTreeView.png --- -The `Header` property can be any object and you can use the `HeaderTemplate` to specify a custom look to the header. Similiar objects can be set for the `Footer` and `FooterTemplate`. +The `Header` property can be any object and you can use the `HeaderTemplate` to specify a custom look to the header. Similar objects can be set for the `Footer` and `FooterTemplate`. > [!Sample HeaderedTreeViewSample] - -## Syntax - -```xaml - - - - - -``` \ No newline at end of file diff --git a/components/Helpers/samples/CameraHelper.md b/components/Helpers/samples/CameraHelper.md index 2cef1be6..1e046276 100644 --- a/components/Helpers/samples/CameraHelper.md +++ b/components/Helpers/samples/CameraHelper.md @@ -50,7 +50,6 @@ private void CameraHelper_FrameArrived(object sender, FrameEventArgs e) } ``` - ## Cleaning up resources As a developer, you will need to make sure the CameraHelper resources are cleaned up when appropriate. For example, if the CameraHelper is only used on one page, make sure to clean up the CameraHelper when navigating away from the page. diff --git a/components/Helpers/samples/ColorHelper.md b/components/Helpers/samples/ColorHelper.md index aa425d97..52207fab 100644 --- a/components/Helpers/samples/ColorHelper.md +++ b/components/Helpers/samples/ColorHelper.md @@ -2,7 +2,7 @@ title: ColorHelper author: description: Convert colors from text names, HTML hex, HSV, or HSL to Windows UI Colors (and back again). -keywords: Helpers, Theming, theme listerner, themes, screenunithelper, colorhelper +keywords: Helpers, Theming, theme listener, themes, screenunithelper, colorhelper dev_langs: - csharp category: Helpers diff --git a/components/Helpers/samples/ThemeListener.md b/components/Helpers/samples/ThemeListener.md index f3468003..100353bb 100644 --- a/components/Helpers/samples/ThemeListener.md +++ b/components/Helpers/samples/ThemeListener.md @@ -2,7 +2,7 @@ title: Theme Listener author: williamabradley description: The ThemeListener allows you to keep track of changes to the current Application Them, and when it is changed via System Theme changes. -keywords: Helpers, Theming, theme listerner, themes +keywords: Helpers, Theming, theme listener, themes dev_langs: - csharp category: Helpers diff --git a/components/ImageCropper/samples/ImageCropper.md b/components/ImageCropper/samples/ImageCropper.md index 733eecaa..34276f6f 100644 --- a/components/ImageCropper/samples/ImageCropper.md +++ b/components/ImageCropper/samples/ImageCropper.md @@ -47,7 +47,6 @@ using (var fileStream = await someFile.OpenAsync(FileAccessMode.ReadWrite, Stora } ``` - ### Use Circular ImageCropper You can set `CropShape` property to use the circular ImageCropper. @@ -56,7 +55,6 @@ You can set `CropShape` property to use the circular ImageCropper. ImageCropper.CropShape = CropShape.Circular; ``` - ### Change Aspect Ratio You can set `AspectRatio` property to change the aspect ratio of the cropped image. @@ -65,7 +63,6 @@ You can set `AspectRatio` property to change the aspect ratio of the cropped ima ImageCropper.AspectRatio = 16d / 9d; ``` - Or you can crop image without aspect ratio. ```csharp diff --git a/components/Media/samples/EffectAnimations.md b/components/Media/samples/EffectAnimations.md index 57595c53..5c956193 100644 --- a/components/Media/samples/EffectAnimations.md +++ b/components/Media/samples/EffectAnimations.md @@ -24,7 +24,7 @@ Apply and animate a Win2D BlurEffect ## ColorEffectAnimation -Animate an overlayed color with a Win2D ColorEffect. +Animate an overlaid color with a Win2D ColorEffect. > [!SAMPLE ColorEffectAnimationSample] @@ -42,7 +42,7 @@ Animate the exposure with a Win2D ExposureEffect. ## HueRotationEffectAnimation -Animate Hue to a specific angle using a Win2D HueRotationEffect. +Animate Hue to a specific angle using a Win2D HueRotationEffect. > [!SAMPLE HueRotationEffectAnimationSample] diff --git a/components/Primitives/samples/StaggeredSamples.md b/components/Primitives/samples/StaggeredSamples.md index 20dfbec6..a68c99f9 100644 --- a/components/Primitives/samples/StaggeredSamples.md +++ b/components/Primitives/samples/StaggeredSamples.md @@ -1,7 +1,7 @@ --- title: StaggeredLayout / StaggeredPanel author: skendrot -description: The StaggeredLayout / StaggeredPanel virtualizes items in a column approach where an item will be added to whichever column has used the least amount of space. +description: The StaggeredLayout and StaggeredPanel display items in a column approach where an item will be added to whichever column has used the least amount of space. keywords: StaggeredPanel, StaggeredLayout, Layout dev_langs: - csharp @@ -12,13 +12,15 @@ issue-id: 0 icon: Assets/StaggeredPanel.png --- -# StaggeredLayout +## StaggeredLayout 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. +It is a Layout for `ItemsRepeater` which will provide better virtualization compared to the `StaggeredPanel` below. + > [!SAMPLE StaggeredLayoutSample] -# StaggeredPanel +## StaggeredPanel 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. diff --git a/components/Primitives/samples/WrapPanel.md b/components/Primitives/samples/WrapPanel.md index 5becf308..8a85ebbe 100644 --- a/components/Primitives/samples/WrapPanel.md +++ b/components/Primitives/samples/WrapPanel.md @@ -22,7 +22,6 @@ When the Orientation is Vertical, HorizontalSpacing adds uniform spacing between > [!SAMPLE WrapPanelSample] - ## Examples The following example of adding WrapPanel Control. diff --git a/components/RangeSelector/samples/RangeSelector.md b/components/RangeSelector/samples/RangeSelector.md index 83961897..6b68bad4 100644 --- a/components/RangeSelector/samples/RangeSelector.md +++ b/components/RangeSelector/samples/RangeSelector.md @@ -12,7 +12,7 @@ issue-id: 0 icon: Assets/RangeSelector.png --- -A `RangeSelector` is pretty similiar to a regular `Slider`, and shares some of its properties such as `Minimum`, `Maximum` and `StepFrequency`. +A `RangeSelector` is pretty similar to a regular `Slider`, and shares some of its properties such as `Minimum`, `Maximum` and `StepFrequency`. > [!Sample RangeSelectorSample] diff --git a/components/RichSuggestBox/samples/RichSuggestBox.md b/components/RichSuggestBox/samples/RichSuggestBox.md index 87dc9c14..a22aa8ec 100644 --- a/components/RichSuggestBox/samples/RichSuggestBox.md +++ b/components/RichSuggestBox/samples/RichSuggestBox.md @@ -95,5 +95,3 @@ The example below creates a `RichSuggestBox` that only allows users to enter pla ``` > [!Sample RichSuggestBoxPlainTextSample] - - diff --git a/components/Segmented/samples/Segmented.md b/components/Segmented/samples/Segmented.md index 7f4c8676..00995ff6 100644 --- a/components/Segmented/samples/Segmented.md +++ b/components/Segmented/samples/Segmented.md @@ -19,7 +19,8 @@ The `Segmented` control is best used with 2-5 items and does not support overflo > [!Sample SegmentedBasicSample] ## Selection -`Segmented` supports single and multi-selection. When `SelectionMode` is set to `Single` the first item will be selected by default. This can be overriden by settings `AutoSelection` to `false`. + +`Segmented` supports single and multi-selection. When `SelectionMode` is set to `Single` the first item will be selected by default. This can be overridden by settings `AutoSelection` to `false`. ## Other styles diff --git a/components/SettingsControls/samples/SettingsCard.md b/components/SettingsControls/samples/SettingsCard.md index bc645066..667bc703 100644 --- a/components/SettingsControls/samples/SettingsCard.md +++ b/components/SettingsControls/samples/SettingsCard.md @@ -12,7 +12,7 @@ issue-id: 0 icon: Assets/SettingsCard.png --- -SettingsCard is a control that can be used to display settings in your experience. It uses the default styling found in Windows 11 and is easy to use, meets all accesibility standards and will make your settings page look great! +SettingsCard is a control that can be used to display settings in your experience. It uses the default styling found in Windows 11 and is easy to use, meets all accessibility standards and will make your settings page look great! You can set the `Header`, `Description`, `HeaderIcon` and `Content` properties to create an easy to use experience, like so: > [!SAMPLE SettingsCardSample] diff --git a/components/SettingsControls/samples/SettingsExpander.md b/components/SettingsControls/samples/SettingsExpander.md index 29dc4a99..3fd0566d 100644 --- a/components/SettingsControls/samples/SettingsExpander.md +++ b/components/SettingsControls/samples/SettingsExpander.md @@ -12,7 +12,7 @@ issue-id: 0 icon: Assets/SettingsExpander.png --- -The `SettingsExpander` can be used to group multiple `SettingsCard`s into a single collapsable group. +The `SettingsExpander` can be used to group multiple `SettingsCard`s into a single collapsible group. A `SettingsExpander` can have it's own content to display a setting on the right, just like a `SettingsCard`, but in addition can have any number of extra `Items` to include as additional settings. These items are `SettingsCard`s themselves, which means you can easily move a setting into or out of Expanders just by cutting and pasting their XAML! diff --git a/components/Sizers/samples/ContentSizer.md b/components/Sizers/samples/ContentSizer.md index fcb6aa1a..173b0ae6 100644 --- a/components/Sizers/samples/ContentSizer.md +++ b/components/Sizers/samples/ContentSizer.md @@ -1,6 +1,6 @@ --- title: ContentSizer -author: mhawker +author: michael-hawker description: The ContentSizer is a control which can be used to resize any element, usually its parent. keywords: ContentSizer, SizerBase, Control, Layout, Expander, Splitter dev_langs: diff --git a/components/Sizers/samples/GridSplitter.md b/components/Sizers/samples/GridSplitter.md index 02d40a9b..ceddea05 100644 --- a/components/Sizers/samples/GridSplitter.md +++ b/components/Sizers/samples/GridSplitter.md @@ -1,6 +1,6 @@ --- title: GridSplitter -author: mhawker +author: michael-hawker description:The GridSplitter control provides an easy-to-use Splitter that redistributes space between columns or rows of a Grid Control. keywords: ContentSizer, SizerBase, Control, Layout, Expander dev_langs: diff --git a/components/Sizers/samples/PropertySizer.md b/components/Sizers/samples/PropertySizer.md index 126d0ab0..b72bc708 100644 --- a/components/Sizers/samples/PropertySizer.md +++ b/components/Sizers/samples/PropertySizer.md @@ -1,6 +1,6 @@ --- title: PropertySizer -author: mhawker +author: michael-hawker description: The PropertySizer is a control which can be used to manipulate the value of another double based property. keywords: PropertySizer, SizerBase, Control, Layout, NavigationView, Splitter dev_langs: @@ -14,7 +14,7 @@ icon: Assets/PropertySizer.png For instance, manipulating the `OpenPaneLength` of a `NavigationView` control. If you are using a `Grid`, use `GridSplitter` instead. -## Examples +## Examples The main use-case is for `PropertySizer` to allow you to manipulate the `OpenPaneLength` property of a `NavigationView` control to create a user customizable size shelf. This is handy when using `NavigationView` with a tree of items that represents some project or folder structure for your application. diff --git a/components/Sizers/samples/SizerControls.md b/components/Sizers/samples/SizerControls.md index 6b7d570e..7152beb9 100644 --- a/components/Sizers/samples/SizerControls.md +++ b/components/Sizers/samples/SizerControls.md @@ -1,6 +1,6 @@ --- title: Sizer overview -author: mhawker +author: michael-hawker description: The Sizer controls allow users to resize various parts of your UI easily in a consistent fashion. keywords: GridSplitter, ContentSizer, PropertySizer, SizerBase, Control, Layout, Expander, Grid, Splitter dev_langs: diff --git a/components/Triggers/samples/Triggers.md b/components/Triggers/samples/Triggers.md index 3ff72aeb..9a8e1845 100644 --- a/components/Triggers/samples/Triggers.md +++ b/components/Triggers/samples/Triggers.md @@ -19,6 +19,7 @@ Enables a state if the value is equal to, greater than, or less than another val > [!Sample CompareStateTriggerSample] ## ControlStateTrigger + Enables a state if the target control meets the specified size > [!Sample ControlSizeTriggerSample] From 5cc01612260b6cf8c235efb32abcf8c3346fb710 Mon Sep 17 00:00:00 2001 From: Niels Laute Date: Sat, 2 Sep 2023 07:55:47 +0200 Subject: [PATCH 2/4] Update components/Segmented/samples/Segmented.md --- components/Segmented/samples/Segmented.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/Segmented/samples/Segmented.md b/components/Segmented/samples/Segmented.md index 00995ff6..b9575e0c 100644 --- a/components/Segmented/samples/Segmented.md +++ b/components/Segmented/samples/Segmented.md @@ -20,7 +20,7 @@ The `Segmented` control is best used with 2-5 items and does not support overflo ## Selection -`Segmented` supports single and multi-selection. When `SelectionMode` is set to `Single` the first item will be selected by default. This can be overridden by settings `AutoSelection` to `false`. +`Segmented` supports single and multi-selection. When `SelectionMode` is set to `Single` the first item will be selected by default. This can be overridden by setting `AutoSelection` to `false`. ## Other styles From 6c88ebca0d402b97cb1788bf6b9e962b4eeadd3f Mon Sep 17 00:00:00 2001 From: michael-hawker <24302614+michael-hawker@users.noreply.github.com> Date: Sat, 2 Sep 2023 12:10:53 -0700 Subject: [PATCH 3/4] Fix Issue with Switch Presenter Crashing in Release Mode See https://github.com/CommunityToolkit/WindowsCommunityToolkit/issues/3909 --- .../SwitchPresenter/SwitchPresenterValueSample.xaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/components/Primitives/samples/SwitchPresenter/SwitchPresenterValueSample.xaml b/components/Primitives/samples/SwitchPresenter/SwitchPresenterValueSample.xaml index 648ec60c..807d3d57 100644 --- a/components/Primitives/samples/SwitchPresenter/SwitchPresenterValueSample.xaml +++ b/components/Primitives/samples/SwitchPresenter/SwitchPresenterValueSample.xaml @@ -8,6 +8,13 @@ xmlns:ui="using:CommunityToolkit.WinUI" mc:Ignorable="d"> + + + Cat + + Date: Mon, 4 Sep 2023 12:03:22 +0200 Subject: [PATCH 4/4] Updated SwitchPresenter icon --- .../samples/Assets/SwitchPresenter.png | Bin 3642 -> 2536 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/components/Primitives/samples/Assets/SwitchPresenter.png b/components/Primitives/samples/Assets/SwitchPresenter.png index b8daf434272f5ecc9fda11d58c38457b481ebdec..868d8d0e411d032a4f5de779b5eeb8c793770182 100644 GIT binary patch delta 2533 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 literal 3642 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 M07*qoM6N<$f`TK-N&o-=