-
Notifications
You must be signed in to change notification settings - Fork 474
ProgressBar Attached Property to enable progress animation #352
Conversation
This is a first draft! Because I would suggest having a new category item on the samples pages, it would be awesome if @sthewissen could help out a bit for the Color and Text? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Depechie tks for your contribution. Multi-Targeting projects can be trickier at the first time, please feel free to reach out me for any question
XamarinCommunityToolkit/AttachedProperties/ProgressBarAttachedProperties.cs
Outdated
Show resolved
Hide resolved
XamarinCommunityToolkit/AttachedProperties/ProgressBarAttachedProperties.cs
Outdated
Show resolved
Hide resolved
Weird, thought we did discussed this when setting up the repository... @jfversluis can you remember? If not no worries I gladly change it. |
I even think I suggested to do the opposite in the early PR's of the repository, when I was validating PR's. ( to always use the => ) hence why I'm wondering if we discussed this. |
@Depechie I ran a benchmark dotnet against Mono and .NETFramework 4.7.2, and in both using BenchmarkDotNet=v0.12.1.1356-nightly, OS=Windows 10.0.19041.508 (2004/?/20H1)
Intel Core i5-7300HQ CPU 2.50GHz (Kaby Lake), 1 CPU, 4 logical and 4 physical cores
[Host] : .NET Framework 4.8 (4.8.4220.0), X64 RyuJIT
DefaultJob : .NET Framework 4.8 (4.8.4220.0), X64 RyuJIT
Running in mobile (Android 10.0 Motorola One) I have this result: You can see and run by yourself using this branch If I did something wrong, and this is possible please let me know. |
No, not saying you are benchmarking wrong or anything. At some point we saw the remark of the .NET team about the fact that doing many multiple calls on not having the Lamba would have impact due to not caching. We never doubted that remark ( so no benchmark from us ;) ) I will change it later when I'm back at the laptop. |
@Depechie I'm not saying that issue doesn't exist, but maybe it already fixed, I said maybe because the Roslyn team has not said if it's already fixed. The open issue for this bug (dotnet/roslyn#5835) is still open but has a lot of PRs merged that reference this issue. |
XamarinCommunityToolkit/AttachedProperties/ProgressBarAttachedProperties.shared.cs
Outdated
Show resolved
Hide resolved
XamarinCommunityToolkit/AttachedProperties/ProgressBarAttachedProperties.shared.cs
Outdated
Show resolved
Hide resolved
XamarinCommunityToolkit/AttachedProperties/ProgressBarAttachedProperties.shared.cs
Outdated
Show resolved
Hide resolved
XamarinCommunityToolkitSample/Pages/AttachedProperties/ProgressBarAttachedPropertiesPage.xaml
Outdated
Show resolved
Hide resolved
XamarinCommunityToolkit/AttachedProperties/ProgressBarAttachedProperties.shared.cs
Outdated
Show resolved
Hide resolved
XamarinCommunityToolkit/AttachedProperties/ProgressBarAttachedProperties.shared.cs
Outdated
Show resolved
Hide resolved
XamarinCommunityToolkit/AttachedProperties/ProgressBarAttachedProperties.shared.cs
Outdated
Show resolved
Hide resolved
@Depechie hey :) are you interested in this PR so far? |
Yeah, sorry due to some personal things, I have not found the time. But next week will be fine and I'll finish this soon :) |
Sure, no pressure at all :) Thanks for the update |
Amended the remarks |
Seems there are some merge conflicts. Could you resolve them? |
XamarinCommunityToolkit/AttachedProperties/ProgressBarAttachedProperties.shared.cs
Outdated
Show resolved
Hide resolved
XamarinCommunityToolkitSample/Xamarin.CommunityToolkit.Sample.csproj
Outdated
Show resolved
Hide resolved
So rebase with an overwrite is done... the review can continue again |
XamarinCommunityToolkit/AttachedProperties/ProgressBarAttachedProperties.shared.cs
Outdated
Show resolved
Hide resolved
XamarinCommunityToolkit/AttachedProperties/ProgressBarAttachedProperties.shared.cs
Outdated
Show resolved
Hide resolved
@Depechie could you please fix the GitHub formatting in the first comment, section "API Changes"? |
@Cfun1 done... will someone ever rereview this PR? |
@pictos @AndreiMisiukevich if you could review this? Merge at will after that. Personally I'd love to see that users are able to influence the animation behavior more, but I guess we can do that in follow-up PRs if people actually want that |
thx for the intervention @jfversluis been swamped with other stuff after hours that I had no time to check this :/ |
No worries! Just trying to get some older PRs closed, or even better: merged! :D |
@jfversluis @Depechie I am fine with merging this PR, but I think that this feature should belong to Behaviors (attached behavior). But I am OK with merging it now as is, then I (or somebody else) will be able to refactor |
I guess that makes sense... In that case let's not merge it just yet and do that first. I can see if I can pick that up sometime soon |
@AndreiMisiukevich @jfversluis done ;) ( it's now a behavior ) |
...yToolkit/Xamarin.CommunityToolkit/AttachedProperties/ProgressBarAttachedProperties.shared.cs
Outdated
Show resolved
Hide resolved
src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/ProgressBarAnimationBehavior.cs
Outdated
Show resolved
Hide resolved
src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/ProgressBarAnimationBehavior.cs
Outdated
Show resolved
Hide resolved
src/CommunityToolkit/Xamarin.CommunityToolkit/Xamarin.CommunityToolkit.csproj
Outdated
Show resolved
Hide resolved
src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/ProgressBarAnimationBehavior.cs
Outdated
Show resolved
Hide resolved
...yToolkit/Xamarin.CommunityToolkit/AttachedProperties/ProgressBarAttachedProperties.shared.cs
Outdated
Show resolved
Hide resolved
Co-authored-by: Andrei <andrei.misiukevich@gmail.com>
…ssBarAnimationBehavior.cs Co-authored-by: Andrei <andrei.misiukevich@gmail.com>
…yToolkit.csproj Co-authored-by: Andrei <andrei.misiukevich@gmail.com>
…ssBarAnimationBehavior.cs Co-authored-by: Cfun <15718354+Cfun1@users.noreply.github.com>
…es/ProgressBarAttachedProperties.shared.cs Co-authored-by: Cfun <15718354+Cfun1@users.noreply.github.com>
Great thanks @Depechie we started to get more and more animation stuff :), @jfversluis I didn't notice any issue linked to this pr (right pane under Milestone) is there one? just so we don't forget to update the docs. |
* Added new TextCaseType to TextCaseConverter (#763) * Added new TextCaseType to TextCaseConverter Added support for first char to upper rest to lower case. * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Converters/TextCaseConverter.shared.cs * Added unit tests and fix bug for empty string * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Converters/TextCaseConverter.shared.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Converters/TextCaseConverter.shared.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Converters/TextCaseConverter.shared.cs Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> Co-authored-by: joacim wall <joacim.wall@evry.com> Co-authored-by: Andrei <andrei.misiukevich@gmail.com> Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Add LocalizedString class for automatic ViewModel string updates (#750) * Add LocalizedString * Update test name * Remove from NETSTANDARD1_0 * LangVersion latest * Revert "LangVersion latest" This reverts commit e22a4c1. * Not using linq discard * Fix test * Fix test. Add constructor with localizationManager * Add new feature to sample app * Add Dispose() to unsubscribe from localizationManager.PropertyChanged * Fix Sample localization resources generation * Update sample app to change AppResources.Culture * Update LocalizedString to use ObservableObject * Return unsubscribing from localizationManager.PropertyChanged * Add WeakSubscribe * Refactor LocalizedString to use WeakSubscribe * Add test to ensure instance of LocalizedString is disposed * Dont create instance of LocalizationResourceManager * Add null checks to WeakSubscribe * Invoke action with less code null check has already been done * Replace spaces with tabs * Revert "Use Single for getting culture" * added one more unit test Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Add CommandFactory class (#797) * Create CommandHelper.shared.cs * Use CommandHelper in Sample app * Rename to CommandFactory * Replace "is null" with "== null" * Update GravatarImageViewModel.cs * Update SearchViewModel.cs * Move CommandFactory to ObjectModel * Update ConvertExecute and ConvertCanExecute to throw InvalidCommandParameterException * Add tests * Skip test in question * Revert Xamarin.CommunityToolkit.csproj changes * Fix tests * Add tests for AsyncValueCommand * Revert AsyncValueCommandSupport * Revert "Revert AsyncValueCommandSupport" This reverts commit 07a178c. * Creating AsyncValueCommand using CreateValue * Revert "Creating AsyncValueCommand using CreateValue" This reverts commit 7b32561. * Add Create overloads without optional parameters for Task to act as tiebreakers * Add different names to "execute" parameters to provide another way to resolve ambiguity * Updated CommandFactory - Add XML Documentation - Separated Command.Factory.Command.shared.cs, Command.Factory.IAsyncCommand.shared.cs and Command.Factory.IAsyncValueCommand.shared.cs - Removed unnecessary CommandFactory.Create methods - Added missing CommandFactory.Create methods - Updated Unit Tests * Updated XML Documentation Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> * Deprecate LocalizationResourceManager.SetCulture (#766) * Deprecate SetCulture * Add EditorBrowsableState.Never * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Helpers/LocalizationResourceManager.shared.cs * Fix obsolete warning in tests * Remove unneeded line * Use new LocalizationResourceManager for tests Tests were failing from time to time because the same instance of LRM was used for all of them. And since tests are executed in parallel, this caused some issues * Siplify impicit conversion test to test only conversion itself * Return Invalidate mathod Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * ShadowEffect (#725) * #461 * Added mac support * Added sample * Updated shadows * Fixed iOS crash * removed pragma * Remove effect when color if default * cleaned code * Implemented LazyView (#796) * Created LazyView and implemented it on TabView * Added Preserve attribute * Update LazyTestView.xaml * Adds Popup Control (#653) * Ported Popup Control from xamarin/Xamarin.Forms#9616 to Xamarin Community Toolkit * Added missing async/await api * Added popup result sample and fixed uwp/android implementations * Renamed View->Content * Updated styles of sample popups * Updated BorderColor to be a platform specific property for UWP * Moved Android/iOS/UWP renderers to platform specific folders * Changed PopupDismissedEventArgs so it is immutable * Removed visual studio edits to sample android project * Removed = false for isDisposed as it is default * Normalized accessor properties for ios and uwp * Removed performance apis since they are used internally at Xamarin.Forms * Simplified OnElementChanged to use shared method ConfigureControl * Removed iOS 9 code * Updated NavigationExtensions to follow Xamarin Essentials style by adding netstandard impl that throws exception * Added Control.Cleanup invocation to dispose method * [iOS] Removed async/await from OnDismissed since it is an event the invocation doesn't need to know when it is complete * Fixed comment * Updated iOS to use WeakEventManager * changed instantiation to use default(SizeRequest) * ios - Changed WeakEventManager so it is a protected static object on the popup renderer. This will help create a weak reference to the popup delegate for the GC * Moved sample popup code to new location * Added WeakEventManager for BasePopup events (Opened, Dismissed) * ios - changed popover delegate to use action * Added PopOverDelegate.PopoverDismissed * Updated accessor for LightDismiss to protected internal * Updated comment in LightDismiss * Removed stale iOS code * Updated xml comments * Removed obj dir from compilation in 'netstandard' projects and fixed debugger issues * removed Init method and added code to get the Context * changed accessor of ToolkitPlatform to internal * Added new UI popup tests for Xaml binding vs C# binding * Updated XCT xmlns to use uri instead of fully qualified namespace * Added shared popup size across samples * Fixed popup BindingContext not working when set in XAML * Update Samples - Capitalize x:Name variables - Replace expression-bodied properties with read-only properties where applicable * Add PopupDismissedEventArgs<T> * Add Default Values for Color and Size * Remove Unncessary `base` Keyword, per styling guide * Optimize originX + originX, Add missing `await` * Update PopupAnchorViewModel.cs * Fix orignY Copy/paste error * Update PopupRenderer.ios.cs * Update NavigationExtensions.netstandard.macos.tvos.watchos.tizen.wpf.gtk.cs * Added NavigableElementExtension - This allows rendering popup from ContentPage and other children of NavigableElement Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Update BaseGalleryViewModel.cs * Merging is hard * Fix Anchor Popup Sample NRE (#834) * Changed LoadView to be Async (#828) * Changed LoadView to ValueTask LoadViewAsync and added summaries * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Views/LazyView/LazyView.shared.cs * Popup out of the screen horizontally in Android sample (#839) * Fix popup out of horizontal bounds #653 (comment) * Device Size dependent * Essentials namespace * revert * [Android] Converting dimensions to pixels in popup renderer (#856) * [Android] Converting dimensions to pixels in popup renderer * Add fixed and relative to screen sizes instead of platform specific sizes. * Update ButtonPopup size. * Update CsharpBindingPopup size. * Update MultipleButtonPopup size. * Update NoLightDismissPopup size. * Update OpenedEventSimplePopup size. * Update ReturnResultPopup size. * Update SimplePopup size. * Update ToggleSizePopup size. * Update TransparentPopup size. * Update XamlBindingPopup size. * #704 [Bug] No padding around text in a Toast or Snackbar (#714) * Make ShieldView more customizable (#874) * Add SubjectBackgroundColor, SubjectTextColor/reorganization. * Update sample. * Obsolete message * Correct typo in comment Co-authored-by: Gerald Versluis <gerald@verslu.is> * Drop UpdateTextColor() Co-authored-by: Gerald Versluis <gerald@verslu.is> * fixed csproj to produce sourcelink (#893) * [iOS] Remove popup arrow if anchor isn't set (#854) * Remove popup arrow if anchor isn't set * Create PopoverArrowDirection.cs * Create Popup.shared.cs * Add arrow direction platform specific. * Add arrow direction platform specific sample. * Rename PopoverArrowDirection.cs to PopoverArrowDirection.shared.cs * Change ArrowDirection to up * Remove switch PopoverArrowDirection.None since default is already zero. * Use div 2 instead of multiply by 0.5 for consistency. Co-authored-by: Sebastian Klatte <sebastian.klatte@trust-communication.com> * ProgressBar Attached Property to enable progress animation (#352) * ProgressBar Attached Property to enable progress animation * Fixes remarks on PR * Fix remarks PR * Changes need for new gallery viewmodel * Correct version from before rebase * Update AttachedPropertiesGalleryViewModel.cs * Update ProgressBarAttachedProperties.shared.cs * Update ProgressBarAttachedProperties.shared.cs * Change Attached property to behavior * Update samples/XCT.Sample/Xamarin.CommunityToolkit.Sample.csproj Co-authored-by: Andrei <andrei.misiukevich@gmail.com> * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/ProgressBarAnimationBehavior.cs Co-authored-by: Andrei <andrei.misiukevich@gmail.com> * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Xamarin.CommunityToolkit.csproj Co-authored-by: Andrei <andrei.misiukevich@gmail.com> * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/ProgressBarAnimationBehavior.cs Co-authored-by: Cfun <15718354+Cfun1@users.noreply.github.com> * Update src/CommunityToolkit/Xamarin.CommunityToolkit/AttachedProperties/ProgressBarAttachedProperties.shared.cs Co-authored-by: Cfun <15718354+Cfun1@users.noreply.github.com> * Remove old attached property and rename new behavior Co-authored-by: Gerald Versluis <gerald@verslu.is> Co-authored-by: Andrei <andrei.misiukevich@gmail.com> Co-authored-by: Cfun <15718354+Cfun1@users.noreply.github.com> * Merge main into dev (#913) * [Android] Fix Long Press blocks CollectionView selection (#764) * #760 * Moved helper methods to VisualElementExtensions * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Extensions/VisualElementExtension.shared.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Extensions/VisualElementExtension.shared.cs Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com> Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> * [Android] Fix SideMenuView + Slider issue (#824) * [Android] Allow using slider inside SideMenu with disabled gestures #810 * Refactored gesture default threshold #810 * Cleaned code. Added linker safety code * Fixed build Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com> * Automated dotnet-format update (#837) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Remove `Device` dependency from command implementation (#825) (#830) * Remove `Device` dependency from command implementation (#804) * Move Xamarin.CommunityToolkit.ObjectModel.Internals classes to `Internals` folder * Add Platform-Specific MainThread Implementations, Update Unit Tests to Acommidate Context Switching * Update BaseCommand.uwp.cs * Add BaseCommand.wpf.cs * Finish BaseCommand.gtk.cs * Update BaseCommand.shared.cs Co-authored-by: Eugen Richter <eugen.richter@amcsgroup.com> Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> * Automated dotnet-format update (#865) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fixes #859 (#864) Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> * ValidationBehavior: Added IsNotValid property (#836) * Added IsNotValid property to validators * small fix * Updated sample * #822 (#877) * Fixes AvatarView - Valid source images dont load for the first time they are created (#849) * #805 * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Views/AvatarView/AvatarView.shared.cs Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> * Fixed image loading * Fixed null ref * Fixes crashes Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com> Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Added inline docs (#882) * Update ViewsGalleryViewModel.cs (#888) removed duplicated text "used to" * Document all behaviors and associated (#895) * Housekeeping remove XamlCompilation from code-behind. (#897) * Changed TabView SelectedIndex property to use TwoWay binding mode (#903) * Add inline Docs/Comments to Converters (#907) * Update azure-pipelines.yml Co-authored-by: Andrei <andrei.misiukevich@gmail.com> Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Eugen Richter <github@richter.consulting> Co-authored-by: Eugen Richter <eugen.richter@amcsgroup.com> Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> Co-authored-by: WillAutioItrax <15933820+WillAutioItrax@users.noreply.github.com> Co-authored-by: Cfun <15718354+Cfun1@users.noreply.github.com> * Add "Add(IEnumerable<T> collection)" to ObservableRangeCollection<T> (#891) * Create ObservableRangeCollectionEx.shared.cs * Add test * Update src/CommunityToolkit/Xamarin.CommunityToolkit/ObjectModel/Extensions/ObservableRangeCollectionEx.shared.cs * Resolve comments * Add AddToNullCollection test * Fix WeakSubscribe parameter type * Revert "Fix WeakSubscribe parameter type" This reverts commit 221ee0f. Co-authored-by: Andrei <andrei.misiukevich@gmail.com> * Update INotifyPropertyChangedEx.shared.cs (#918) * [Breaking Changes] ValidationBehavior Async checks support (#912) * Refactored validation behavior * Refactored to ValueTask * added configure await false * Fixed isRunning * LifeCycleEvents (#674) * Created LifeCycleEffect and platform implementations * Added sample to LifeCycle effect * refactor UnLoaded logic * clean up csproj * Fixed NRE for shell * Code Review fixes * code style * improved the sample * fixed tizen path * Fixed iOS support * Implemented WeakEventManager * Added inline docs/comments * changed to nameof * Msbuild hotfix (#946) * fixed msbuild instructions * revert android sample csproj * Add `Grouping` class from Refractored.MvvmHelpers (#957) * Fix LocalizedString gets unsubscribed while still in use (#987) * Fixed all the things * Make PersistentObservableObject abstract * Reverse the inheritance * Commit to rerun tests * Remove PersistentObservableObject * Grammar * Feature/371 enum boolean converter (#925) * Implement EnumToBoolConverter (#371) * Add example for EnumToBoolConverter * Make it work with flagged enums (#371) * Simplify code (#371) * Make the method an local static method (#371) * Cache enum type info (#371) Co-authored-by: Eugen Richter <eugen.richter@amcsgroup.com> * Add VSM to ValidationBehavior (#955) * Add VSM to ValidationBehavior * dumb commit: Re trigger CI * Fix typo * Fix typo Co-authored-by: Andrei <andrei.misiukevich@gmail.com> * Change string properties to public * Apply Pascal Case Naming * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/Validators/ValidationBehavior.shared.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/Validators/ValidationBehavior.shared.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/Validators/ValidationBehavior.shared.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/Validators/ValidationBehavior.shared.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/Validators/ValidationBehavior.shared.cs Co-authored-by: Andrei <andrei.misiukevich@gmail.com> * Fix Singleton Pattern for LocalizationResourceManager (#919) * Update LocalizationResourceManager.shared.cs * Implement Lazy Loading for Thread Safety * Fix Namespace * Removed changes from main branch * Revert Commit * Update LocalizationResourceManager.shared.cs * Fix Unit Tests * Add Collection to LocalizationResourceManagerTests The `Collection` attribute prevents these tests from running in parallel https://xunit.net/docs/running-tests-in-parallel.html * [Enhancement] Add Scale support for SideMenuView (#1011) * SideMenu scaling #1007 * Added easing * Update azure-pipelines.yml * [iOS] Fix missing binding context for popup view (#1003) * [iOS] Fix missing binding context for popup view * Fix handle binding context changes. * Enable Nullable (#1009) * Enable Nullable on Unit Tests (#1008) * Enable Nullability on Xamarin.CommunityToolkit.Markup (#1013) * Enable Nullable on Unit Tests * Enable Nullable on Xamarin.CommunityToolkit.Markup * Enable Nullability on Xamarin.CommunityToolkit.Sample (#1014) * Enable Nullable on Unit Tests * Enable Nullable on Xamarin.CommunityToolkit.Markup * Enable Nullable on Xamarin.CommunityToolkit.Sample * Enable Nullability for Android, GTK, iOS, Tizen, UWP & WPF Sample Projects (#1015) * Enable Nullable on Unit Tests * Enable Nullable on Xamarin.CommunityToolkit.Markup * Enable Nullable on Xamarin.CommunityToolkit.Sample * Enable Nullable on Android, GTK, iOS and Tizen Samples * Enable Nullable for UWP & WPF Sample Projects * Enable Nullability on Xamarin.CommunityToolkit (#1016) * Enable Nullable on Unit Tests * Enable Nullable on Xamarin.CommunityToolkit.Markup * Enable Nullable on Xamarin.CommunityToolkit.Sample * Enable Nullable on Android, GTK, iOS and Tizen Samples * Enable Nullable for UWP & WPF Sample Projects * Add Nullability * Enable Nullable on XamarinCommunityToolkit (#1023) * Enable Nullable on Unit Tests * Enable Nullable on Xamarin.CommunityToolkit.Markup * Enable Nullable on Xamarin.CommunityToolkit.Sample * Enable Nullable on Android, GTK, iOS and Tizen Samples * Enable Nullable for UWP & WPF Sample Projects * Add Nullability * Resolve Possible Null References * Removed Possible Null References * Update AppResources.Designer.cs * Handle Nullability * Updated Nullabiltiy * Update Converters & Unit Tests * Resolve MediaSource Unit Tests * Fix Unit Tests (#1036) * Enable Nullable on Unit Tests * Enable Nullable on Xamarin.CommunityToolkit.Markup * Enable Nullable on Xamarin.CommunityToolkit.Sample * Enable Nullable on Android, GTK, iOS and Tizen Samples * Enable Nullable for UWP & WPF Sample Projects * Add Nullability * Resolve Possible Null References * Removed Possible Null References * Update AppResources.Designer.cs * Handle Nullability * Updated Nullabiltiy * Update Converters & Unit Tests * Resolve MediaSource Unit Tests * Fix VariableMultiValueConverter * Fixed ImpliedOrderGridBehavior * Update NumericValidationBehavior.shared.cs * Resolve Nullable in SideMenuView * Move <Nullable>enable</Nullable> to Directory.Build.props * Update Xamarin.CommunityToolkit.Sample.csproj * Revert Designer.cs * Update Xamarin.CommunityToolkit.Sample.csproj * Update ItemSelectedEventArgsConverter_Tests.cs * Update SearchViewModel.cs * Update ItemTappedEventArgsConverter_Tests.cs * Update Xamarin.CommunityToolkit.UnitTests.csproj * Add Nullability * Resolve Compiler Warnings * Ignore Closing square brackets should be spaced correctly With Nullable enabled, `byte[]?` is now valid, however SA1011 was still generating a warning * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/ImpliedOrderGridBehavior.shared.cs Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Update CameraFragment.android.cs * Update CameraFragment.android.cs * Update ImpliedOrderGridBehavior.shared.cs * Update MaskedBehavior.shared.cs * Update PopupRenderer.uwp.cs * Use .NET 5.0 * Update azure-pipelines.yml * Update azure-pipelines.yml * Update azure-pipelines.yml * Add UWP to Release Build * Update Nullability * Update Nullablity * Update TabView.shared.cs * Update Nullability * Revert "Update Nullability" This reverts commit e391b9c. * Resolved Nullable * Update azure-pipelines.yml * Revert UWP Build Properties * Update azure-pipelines.yml * Update azure-pipelines.yml * Revert "Update azure-pipelines.yml" This reverts commit 0842280. * Update azure-pipelines.yml * Revert "Revert UWP Build Properties" This reverts commit 77226bf. * Update azure-pipelines.yml * Update azure-pipelines.yml * Update azure-pipelines.yml * Update azure-pipelines.yml * Update azure-pipelines.yml * Update azure-pipelines.yml * Revert "Update azure-pipelines.yml" This reverts commit 4eb36f4. * Update azure-pipelines.yml * Revert "Update azure-pipelines.yml" This reverts commit e41a477. * Fix ValidationBehavior.ForceValidate and ValidationBehavior.DefaultForceValidateCommand * Update SelectAllTextEffect.ios.cs * Remove Nullabilty from LocalizedString.generator * Update MediaElementRenderer.ios.cs * Update PopupRenderer.uwp.cs * Update PopupRenderer.ios.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Snackbar/Helpers/iOS/SnackbarViews/BaseSnackBarView.ios.cs Co-authored-by: Maksym Koshovyi <maximkoshevoi61@gmail.com> * Update TranslateExtension.shared.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Snackbar/SnackBar.android.cs Co-authored-by: Maksym Koshovyi <maximkoshevoi61@gmail.com> * Update Logic * Fix Failing ICommand Tests * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Snackbar/SnackBar.tizen.cs Co-authored-by: Maksym Koshovyi <maximkoshevoi61@gmail.com> * Throw Faulted Task * Use Cast instead of Pattern Matching * Update RangeSlider.shared.cs * Fix missing semi-colons * Throw InvalidOperationException in LocalizationResourceManager * Make TranslateExtension.StringFormat nullable * Update UserStoppedTypingBehavior.shared.cs * Update SearchPage.logic.cs * Update TouchEffectCollectionViewPage.xaml.cs * Update AppResources.Designer.cs * Update AppResources.Designer.cs * Update EnumToBoolConverterViewModel.cs * Update EnumToBoolConverter_Tests.cs * Update IntToBoolConverter_Tests.cs * Update InvertedBoolConverter_Tests.cs * Update IsNotNullOrEmptyConverter_Tests.cs * Update MultiConverter_Tests.cs * Update NotEqualConverter_Tests.cs * Update TextCaseConverter_Tests.cs * Update MockPlatformServices.cs * Update MockPlatformServices.cs * Update Namespace_Tests.cs * Update ObservableRangeCollection_Tests.cs * Update ObservableRangeCollection_Tests.cs * Use `async Task` instead of `async void` * Update MultiValidationBehavior.shared.cs * Update EnumToBoolConverter.shared.cs * Update EnumToBoolConverter.shared.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Converters/NotEqualConverter.shared.cs Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Converters/StateToBooleanConverter.shared.cs Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Converters/TextCaseConverter.shared.cs Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Update IconTintColorEffectRouter.android.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Effects/SelectAllText/SelectAllTextEffect.android.cs Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Update SelectAllTextEffect.android.cs * Update SelectAllTextEffect.ios.cs * Update PlatformTouchEffect.ios.cs * Update PlatformTouchEffect.uwp.cs * Update PlatformTouchEffect.uwp.cs * Update PlatformTouchEffect.macos.cs * Update PlatformTouchEffect.uwp.cs * Update PlatformTouchEffect.uwp.cs * Ensure nullable results from BindableProperties are still resolved * Update ImageResourceExtension.shared.cs * Update BaseCommand.android.cs * Use protected private constructor for BaseCommand * Update BadgeView.shared.cs * Update CameraFragment.android.cs * Fix Android Media Bugs * Update async/await * Update CameraView_Tests.cs * Update CameraView * Update UriTypeConverter.shared.cs * Update PopupRenderer.uwp.cs * Update PopoverArrowDirection.shared.cs * Update PopoverArrowDirection.shared.cs * Update TabView.shared.cs * Improve AsyncCommand Tests * Ensure Context is non nullable * Remove Missing Translations * Fix async/await in TouchEffect.shared.cs * Make Easing Nullable * Update Samples * Fix Null Exception * Resolve NullReferenceExceptions * Make IBadgeAnimation Nullable * Add ShutterCommandValueCreator null check * Add Timeout to prevent race conditions from stalling tests * Unsubscribe Event Handlers for AsyncCommand Tests * Update azure-pipelines.yml * For WPF, Use Cross-Platform Implementation for `BaseCommand.IsMainThread` and `BaseCommand.BeginInvokeOnMainThread` (#965) * Add Non-WPF Support to .NET Core 3.1 * Update comments * Merge .NET Standard and WPF Functionality * Fix Null Reference * Update ICommand_AsyncValueCommand_Tests.cs * Add volatile keyword * Update AsyncValueCommand_Tests.cs * Remove Timeouts * Fix Event Unsubscription * Add .ConfigureAwait(false); * Run dotnet test serially * Use SemaphoreSlim to prevent Race Conditions Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> Co-authored-by: Maksym Koshovyi <maximkoshevoi61@gmail.com> * add SetFocusOnEntryCompleted (#841) (#911) * add SetFocusOnEntryCompleted (#841) * prevent SetFocusOnEntryCompleted memory leak (#841) also force exception if used on non-Entry * cleanup (reuse variable) (#841) * change to attached behavior SetFocusOnEntryCompletedBehavior * remove AttachedBehaviors sub-namespace * fix SetFocusOnEntryCompleted_Tests * simplify SetFocusOnEntryCompletedBehaviorPage * fixed code to be nullable safe * code style Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * #1046 (#1052) * #1025 (#1042) * Merge fixing * Implement SafeFireAndForgetExtensions (#1054) * Implement Safe-Fire-And-Forget * Change `public` to `internal` * Update PlatformTouchEffect.android.cs * Regression #853 (#1063) * [iOS] Fix popup default color and dark mode (#1041) * [iOS] Fix popup default color and dark mode * [Android] Set correct background for default color * [Android] GetWindowColor() for popup background color * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Popup/Android/PopupRenderer.android.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Popup/Android/PopupRenderer.android.cs * Update BasePopup.shared.cs * Update PopupRenderer.android.cs * Update PopupRenderer.android.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Popup/BasePopup.shared.cs Co-authored-by: Andrei <andrei.misiukevich@gmail.com> Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> * Add remove border effect implementation for uwp (#1048) Co-authored-by: Alexander Witkowski <alexander.witkowski@develappers.de> * Added long press event #851 (#1064) * Update LocalizedString.shared.cs (#1071) * Image resource converter (#1068) * Implement ImageResourceConverter * Add a sample for ImageResource extension * Fix nullable errors * Rename converter file to be compiled. * Better exception message Co-authored-by: Andrei <andrei.misiukevich@gmail.com> * Update samples/XCT.Sample/ViewModels/Converters/ImageResourceConverterViewModel.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Converters/ImageResourceConverter.shared.cs * Update samples/XCT.Sample/ViewModels/Converters/ImageResourceConverterViewModel.cs * Update samples/XCT.Sample/ViewModels/Converters/ImageResourceConverterViewModel.cs * Update samples/XCT.Sample/ViewModels/Converters/ImageResourceConverterViewModel.cs * Fix GalleryPage and VM * Update samples/XCT.Sample/ViewModels/Extensions/ExtensionsGalleryViewModel.cs Co-authored-by: Andrei <andrei.misiukevich@gmail.com> * Update samples/XCT.Sample/ViewModels/Extensions/ExtensionsGalleryViewModel.cs Co-authored-by: Andrei <andrei.misiukevich@gmail.com> * Replace Exception approach by extension used by XF (#1028) * Replace Exception approach by extension used by XF * Simplified syntax as requested * Add a missing namespace * Resolve `IAsyncCommand` / `IAsyncValueValueCommand` Unit Test Race Condition (#1076) * Add Unit Test Timeouts * Add macOS Unit Tests * Build 'samples/XCT.Sample.sln' on macOS * Restore Unit Test NuGet Packages * Fix YAML formatting * Add xunit.runner.console * Use latest stable version of Microsoft.NET.Test.Sdk * Fix Unit Tests on macos * Update azure-pipelines.yml * Update azure-pipelines.yml * Update azure-pipelines.yml * Add SemaphoreSlim * Add `dotnet restore` * Update azure-pipelines.yml * Update azure-pipelines.yml * Revert "Add SemaphoreSlim" This reverts commit 6875865. * Revert BaseCommand.semaphoreSlim * Update azure-pipelines.yml * Update azure-pipelines.yml * Update azure-pipelines.yml * Add ConfigureAwait(false) to ValueTaskDelay(int) * Change Platform from NetCore to macOS * Passthrough ValueTask * Update azure-pipelines.yml * Revert "Update azure-pipelines.yml" This reverts commit d7b2842. * Use ConfigureAwait(false) * Rename Task * Remove `static` * Remove `static` * Revert p:BuildInParallel=false * Update azure-pipelines.yml * Revert "Update azure-pipelines.yml" This reverts commit bf93f0c. * Revert "Revert "Update azure-pipelines.yml"" This reverts commit 031121a. * Revert "Revert "Revert "Update azure-pipelines.yml""" This reverts commit 458feb2. * #1066 (#1078) Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> * fix badge background color (#1080) (#1081) Co-authored-by: Matthew S <sattew@yandex.com> Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * allow TextCaseConverter to handle any value type (#1053) * allow TextCaseConverter to handle any value type * remove duplicate Convert method * fix nullability * update TextCaseConverter tests * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Converters/TextCaseConverter.shared.cs Co-authored-by: Andrei <andrei.misiukevich@gmail.com> Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * #850 (#1056) Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Platform specific API (#949) * added iOS platformSpecific * added UWP platform specific * Changed the sample * code clean up * added null check for Element Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> * Add some null checks (#1033) Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com> Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> * Migrate Unit Tests to NUnit (#1090) * Migrate to NUnit * Update Tests * Update Azure Pipelines * Update TextCaseConverter_Tests.cs * Update DateTimeOffsetConverter_Tests.cs * Increase Timeout * Increase Timeout * Add `const int defaultTimeoutThreshold` Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> * Enable Nullable for Xamarin.CommunityToolkit.Markup.UnitTests (#1086) * Add Markup Unit Tests * Add Nullable to Xamarin.CommunityToolkit.Markdown.UnitTests * Update BindingHelpers.cs * Fix Failing Unit Tests * Don't capture XUnit's Synchronization Context * Re-order Unit Tests * Revert "Don't capture XUnit's Synchronization Context" This reverts commit b8b3f16. Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com> * Implement a generic version of the EventToCommandBehavior (#1010) * created ECBGeneric * Added Generic implemention to the EventToCommandBehavior * make EventToCommandBehavior<TType> sealed * Fixed for value types * added nullable notations * update the comment * fixed unit test * Migrate Unit Tests to NUnit * Fixed unitTest * changed to use C#9 features * removed Convert method * Add Inheritance Test Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> * [UWP] TouchEffect OnPointerReleased crash (#1088) * Fixed TouchEffect UWP crash * Touch Effect more nullRef fixes * fixed build * fix build Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com> Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> Co-authored-by: Joacim Wall <joacim.wall@gmail.com> Co-authored-by: joacim wall <joacim.wall@evry.com> Co-authored-by: Andrei <andrei.misiukevich@gmail.com> Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> Co-authored-by: Maksym Koshovyi <maximkoshevoi61@gmail.com> Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> Co-authored-by: Andrew Hoefling <andrew@hoefling.me> Co-authored-by: Cfun <15718354+Cfun1@users.noreply.github.com> Co-authored-by: Sebastian Klatte <sebastian.klatte@posteo.de> Co-authored-by: Vladislav Antonyuk <33021114+VladislavAntonyuk@users.noreply.github.com> Co-authored-by: Sebastian Klatte <sebastian.klatte@trust-communication.com> Co-authored-by: Glenn Versweyveld <Depechie@users.noreply.github.com> Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Eugen Richter <github@richter.consulting> Co-authored-by: Eugen Richter <eugen.richter@amcsgroup.com> Co-authored-by: WillAutioItrax <15933820+WillAutioItrax@users.noreply.github.com> Co-authored-by: tranb3r <tranb3r@gmail.com> Co-authored-by: Jacob Egner <jmegner@gmail.com> Co-authored-by: Alexander Witkowski <alexanderwitkowski@gmail.com> Co-authored-by: Alexander Witkowski <alexander.witkowski@develappers.de> Co-authored-by: Matthew S <sattew@protonmail.com> Co-authored-by: Matthew S <sattew@yandex.com> Co-authored-by: Dan Siegel <me@dansiegel.net>
* Develop to Main for 1.1 (#1108) * Added new TextCaseType to TextCaseConverter (#763) * Added new TextCaseType to TextCaseConverter Added support for first char to upper rest to lower case. * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Converters/TextCaseConverter.shared.cs * Added unit tests and fix bug for empty string * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Converters/TextCaseConverter.shared.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Converters/TextCaseConverter.shared.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Converters/TextCaseConverter.shared.cs Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> Co-authored-by: joacim wall <joacim.wall@evry.com> Co-authored-by: Andrei <andrei.misiukevich@gmail.com> Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Add LocalizedString class for automatic ViewModel string updates (#750) * Add LocalizedString * Update test name * Remove from NETSTANDARD1_0 * LangVersion latest * Revert "LangVersion latest" This reverts commit e22a4c1. * Not using linq discard * Fix test * Fix test. Add constructor with localizationManager * Add new feature to sample app * Add Dispose() to unsubscribe from localizationManager.PropertyChanged * Fix Sample localization resources generation * Update sample app to change AppResources.Culture * Update LocalizedString to use ObservableObject * Return unsubscribing from localizationManager.PropertyChanged * Add WeakSubscribe * Refactor LocalizedString to use WeakSubscribe * Add test to ensure instance of LocalizedString is disposed * Dont create instance of LocalizationResourceManager * Add null checks to WeakSubscribe * Invoke action with less code null check has already been done * Replace spaces with tabs * Revert "Use Single for getting culture" * added one more unit test Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Add CommandFactory class (#797) * Create CommandHelper.shared.cs * Use CommandHelper in Sample app * Rename to CommandFactory * Replace "is null" with "== null" * Update GravatarImageViewModel.cs * Update SearchViewModel.cs * Move CommandFactory to ObjectModel * Update ConvertExecute and ConvertCanExecute to throw InvalidCommandParameterException * Add tests * Skip test in question * Revert Xamarin.CommunityToolkit.csproj changes * Fix tests * Add tests for AsyncValueCommand * Revert AsyncValueCommandSupport * Revert "Revert AsyncValueCommandSupport" This reverts commit 07a178c. * Creating AsyncValueCommand using CreateValue * Revert "Creating AsyncValueCommand using CreateValue" This reverts commit 7b32561. * Add Create overloads without optional parameters for Task to act as tiebreakers * Add different names to "execute" parameters to provide another way to resolve ambiguity * Updated CommandFactory - Add XML Documentation - Separated Command.Factory.Command.shared.cs, Command.Factory.IAsyncCommand.shared.cs and Command.Factory.IAsyncValueCommand.shared.cs - Removed unnecessary CommandFactory.Create methods - Added missing CommandFactory.Create methods - Updated Unit Tests * Updated XML Documentation Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> * Deprecate LocalizationResourceManager.SetCulture (#766) * Deprecate SetCulture * Add EditorBrowsableState.Never * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Helpers/LocalizationResourceManager.shared.cs * Fix obsolete warning in tests * Remove unneeded line * Use new LocalizationResourceManager for tests Tests were failing from time to time because the same instance of LRM was used for all of them. And since tests are executed in parallel, this caused some issues * Siplify impicit conversion test to test only conversion itself * Return Invalidate mathod Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * ShadowEffect (#725) * #461 * Added mac support * Added sample * Updated shadows * Fixed iOS crash * removed pragma * Remove effect when color if default * cleaned code * Implemented LazyView (#796) * Created LazyView and implemented it on TabView * Added Preserve attribute * Update LazyTestView.xaml * Adds Popup Control (#653) * Ported Popup Control from xamarin/Xamarin.Forms#9616 to Xamarin Community Toolkit * Added missing async/await api * Added popup result sample and fixed uwp/android implementations * Renamed View->Content * Updated styles of sample popups * Updated BorderColor to be a platform specific property for UWP * Moved Android/iOS/UWP renderers to platform specific folders * Changed PopupDismissedEventArgs so it is immutable * Removed visual studio edits to sample android project * Removed = false for isDisposed as it is default * Normalized accessor properties for ios and uwp * Removed performance apis since they are used internally at Xamarin.Forms * Simplified OnElementChanged to use shared method ConfigureControl * Removed iOS 9 code * Updated NavigationExtensions to follow Xamarin Essentials style by adding netstandard impl that throws exception * Added Control.Cleanup invocation to dispose method * [iOS] Removed async/await from OnDismissed since it is an event the invocation doesn't need to know when it is complete * Fixed comment * Updated iOS to use WeakEventManager * changed instantiation to use default(SizeRequest) * ios - Changed WeakEventManager so it is a protected static object on the popup renderer. This will help create a weak reference to the popup delegate for the GC * Moved sample popup code to new location * Added WeakEventManager for BasePopup events (Opened, Dismissed) * ios - changed popover delegate to use action * Added PopOverDelegate.PopoverDismissed * Updated accessor for LightDismiss to protected internal * Updated comment in LightDismiss * Removed stale iOS code * Updated xml comments * Removed obj dir from compilation in 'netstandard' projects and fixed debugger issues * removed Init method and added code to get the Context * changed accessor of ToolkitPlatform to internal * Added new UI popup tests for Xaml binding vs C# binding * Updated XCT xmlns to use uri instead of fully qualified namespace * Added shared popup size across samples * Fixed popup BindingContext not working when set in XAML * Update Samples - Capitalize x:Name variables - Replace expression-bodied properties with read-only properties where applicable * Add PopupDismissedEventArgs<T> * Add Default Values for Color and Size * Remove Unncessary `base` Keyword, per styling guide * Optimize originX + originX, Add missing `await` * Update PopupAnchorViewModel.cs * Fix orignY Copy/paste error * Update PopupRenderer.ios.cs * Update NavigationExtensions.netstandard.macos.tvos.watchos.tizen.wpf.gtk.cs * Added NavigableElementExtension - This allows rendering popup from ContentPage and other children of NavigableElement Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Update BaseGalleryViewModel.cs * Merging is hard * Fix Anchor Popup Sample NRE (#834) * Changed LoadView to be Async (#828) * Changed LoadView to ValueTask LoadViewAsync and added summaries * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Views/LazyView/LazyView.shared.cs * Popup out of the screen horizontally in Android sample (#839) * Fix popup out of horizontal bounds #653 (comment) * Device Size dependent * Essentials namespace * revert * [Android] Converting dimensions to pixels in popup renderer (#856) * [Android] Converting dimensions to pixels in popup renderer * Add fixed and relative to screen sizes instead of platform specific sizes. * Update ButtonPopup size. * Update CsharpBindingPopup size. * Update MultipleButtonPopup size. * Update NoLightDismissPopup size. * Update OpenedEventSimplePopup size. * Update ReturnResultPopup size. * Update SimplePopup size. * Update ToggleSizePopup size. * Update TransparentPopup size. * Update XamlBindingPopup size. * #704 [Bug] No padding around text in a Toast or Snackbar (#714) * Make ShieldView more customizable (#874) * Add SubjectBackgroundColor, SubjectTextColor/reorganization. * Update sample. * Obsolete message * Correct typo in comment Co-authored-by: Gerald Versluis <gerald@verslu.is> * Drop UpdateTextColor() Co-authored-by: Gerald Versluis <gerald@verslu.is> * fixed csproj to produce sourcelink (#893) * [iOS] Remove popup arrow if anchor isn't set (#854) * Remove popup arrow if anchor isn't set * Create PopoverArrowDirection.cs * Create Popup.shared.cs * Add arrow direction platform specific. * Add arrow direction platform specific sample. * Rename PopoverArrowDirection.cs to PopoverArrowDirection.shared.cs * Change ArrowDirection to up * Remove switch PopoverArrowDirection.None since default is already zero. * Use div 2 instead of multiply by 0.5 for consistency. Co-authored-by: Sebastian Klatte <sebastian.klatte@trust-communication.com> * ProgressBar Attached Property to enable progress animation (#352) * ProgressBar Attached Property to enable progress animation * Fixes remarks on PR * Fix remarks PR * Changes need for new gallery viewmodel * Correct version from before rebase * Update AttachedPropertiesGalleryViewModel.cs * Update ProgressBarAttachedProperties.shared.cs * Update ProgressBarAttachedProperties.shared.cs * Change Attached property to behavior * Update samples/XCT.Sample/Xamarin.CommunityToolkit.Sample.csproj Co-authored-by: Andrei <andrei.misiukevich@gmail.com> * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/ProgressBarAnimationBehavior.cs Co-authored-by: Andrei <andrei.misiukevich@gmail.com> * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Xamarin.CommunityToolkit.csproj Co-authored-by: Andrei <andrei.misiukevich@gmail.com> * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/ProgressBarAnimationBehavior.cs Co-authored-by: Cfun <15718354+Cfun1@users.noreply.github.com> * Update src/CommunityToolkit/Xamarin.CommunityToolkit/AttachedProperties/ProgressBarAttachedProperties.shared.cs Co-authored-by: Cfun <15718354+Cfun1@users.noreply.github.com> * Remove old attached property and rename new behavior Co-authored-by: Gerald Versluis <gerald@verslu.is> Co-authored-by: Andrei <andrei.misiukevich@gmail.com> Co-authored-by: Cfun <15718354+Cfun1@users.noreply.github.com> * Merge main into dev (#913) * [Android] Fix Long Press blocks CollectionView selection (#764) * #760 * Moved helper methods to VisualElementExtensions * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Extensions/VisualElementExtension.shared.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Extensions/VisualElementExtension.shared.cs Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com> Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> * [Android] Fix SideMenuView + Slider issue (#824) * [Android] Allow using slider inside SideMenu with disabled gestures #810 * Refactored gesture default threshold #810 * Cleaned code. Added linker safety code * Fixed build Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com> * Automated dotnet-format update (#837) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Remove `Device` dependency from command implementation (#825) (#830) * Remove `Device` dependency from command implementation (#804) * Move Xamarin.CommunityToolkit.ObjectModel.Internals classes to `Internals` folder * Add Platform-Specific MainThread Implementations, Update Unit Tests to Acommidate Context Switching * Update BaseCommand.uwp.cs * Add BaseCommand.wpf.cs * Finish BaseCommand.gtk.cs * Update BaseCommand.shared.cs Co-authored-by: Eugen Richter <eugen.richter@amcsgroup.com> Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> * Automated dotnet-format update (#865) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fixes #859 (#864) Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> * ValidationBehavior: Added IsNotValid property (#836) * Added IsNotValid property to validators * small fix * Updated sample * #822 (#877) * Fixes AvatarView - Valid source images dont load for the first time they are created (#849) * #805 * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Views/AvatarView/AvatarView.shared.cs Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> * Fixed image loading * Fixed null ref * Fixes crashes Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com> Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Added inline docs (#882) * Update ViewsGalleryViewModel.cs (#888) removed duplicated text "used to" * Document all behaviors and associated (#895) * Housekeeping remove XamlCompilation from code-behind. (#897) * Changed TabView SelectedIndex property to use TwoWay binding mode (#903) * Add inline Docs/Comments to Converters (#907) * Update azure-pipelines.yml Co-authored-by: Andrei <andrei.misiukevich@gmail.com> Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Eugen Richter <github@richter.consulting> Co-authored-by: Eugen Richter <eugen.richter@amcsgroup.com> Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> Co-authored-by: WillAutioItrax <15933820+WillAutioItrax@users.noreply.github.com> Co-authored-by: Cfun <15718354+Cfun1@users.noreply.github.com> * Add "Add(IEnumerable<T> collection)" to ObservableRangeCollection<T> (#891) * Create ObservableRangeCollectionEx.shared.cs * Add test * Update src/CommunityToolkit/Xamarin.CommunityToolkit/ObjectModel/Extensions/ObservableRangeCollectionEx.shared.cs * Resolve comments * Add AddToNullCollection test * Fix WeakSubscribe parameter type * Revert "Fix WeakSubscribe parameter type" This reverts commit 221ee0f. Co-authored-by: Andrei <andrei.misiukevich@gmail.com> * Update INotifyPropertyChangedEx.shared.cs (#918) * [Breaking Changes] ValidationBehavior Async checks support (#912) * Refactored validation behavior * Refactored to ValueTask * added configure await false * Fixed isRunning * LifeCycleEvents (#674) * Created LifeCycleEffect and platform implementations * Added sample to LifeCycle effect * refactor UnLoaded logic * clean up csproj * Fixed NRE for shell * Code Review fixes * code style * improved the sample * fixed tizen path * Fixed iOS support * Implemented WeakEventManager * Added inline docs/comments * changed to nameof * Msbuild hotfix (#946) * fixed msbuild instructions * revert android sample csproj * Add `Grouping` class from Refractored.MvvmHelpers (#957) * Fix LocalizedString gets unsubscribed while still in use (#987) * Fixed all the things * Make PersistentObservableObject abstract * Reverse the inheritance * Commit to rerun tests * Remove PersistentObservableObject * Grammar * Feature/371 enum boolean converter (#925) * Implement EnumToBoolConverter (#371) * Add example for EnumToBoolConverter * Make it work with flagged enums (#371) * Simplify code (#371) * Make the method an local static method (#371) * Cache enum type info (#371) Co-authored-by: Eugen Richter <eugen.richter@amcsgroup.com> * Add VSM to ValidationBehavior (#955) * Add VSM to ValidationBehavior * dumb commit: Re trigger CI * Fix typo * Fix typo Co-authored-by: Andrei <andrei.misiukevich@gmail.com> * Change string properties to public * Apply Pascal Case Naming * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/Validators/ValidationBehavior.shared.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/Validators/ValidationBehavior.shared.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/Validators/ValidationBehavior.shared.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/Validators/ValidationBehavior.shared.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/Validators/ValidationBehavior.shared.cs Co-authored-by: Andrei <andrei.misiukevich@gmail.com> * Fix Singleton Pattern for LocalizationResourceManager (#919) * Update LocalizationResourceManager.shared.cs * Implement Lazy Loading for Thread Safety * Fix Namespace * Removed changes from main branch * Revert Commit * Update LocalizationResourceManager.shared.cs * Fix Unit Tests * Add Collection to LocalizationResourceManagerTests The `Collection` attribute prevents these tests from running in parallel https://xunit.net/docs/running-tests-in-parallel.html * [Enhancement] Add Scale support for SideMenuView (#1011) * SideMenu scaling #1007 * Added easing * Update azure-pipelines.yml * [iOS] Fix missing binding context for popup view (#1003) * [iOS] Fix missing binding context for popup view * Fix handle binding context changes. * Enable Nullable (#1009) * Enable Nullable on Unit Tests (#1008) * Enable Nullability on Xamarin.CommunityToolkit.Markup (#1013) * Enable Nullable on Unit Tests * Enable Nullable on Xamarin.CommunityToolkit.Markup * Enable Nullability on Xamarin.CommunityToolkit.Sample (#1014) * Enable Nullable on Unit Tests * Enable Nullable on Xamarin.CommunityToolkit.Markup * Enable Nullable on Xamarin.CommunityToolkit.Sample * Enable Nullability for Android, GTK, iOS, Tizen, UWP & WPF Sample Projects (#1015) * Enable Nullable on Unit Tests * Enable Nullable on Xamarin.CommunityToolkit.Markup * Enable Nullable on Xamarin.CommunityToolkit.Sample * Enable Nullable on Android, GTK, iOS and Tizen Samples * Enable Nullable for UWP & WPF Sample Projects * Enable Nullability on Xamarin.CommunityToolkit (#1016) * Enable Nullable on Unit Tests * Enable Nullable on Xamarin.CommunityToolkit.Markup * Enable Nullable on Xamarin.CommunityToolkit.Sample * Enable Nullable on Android, GTK, iOS and Tizen Samples * Enable Nullable for UWP & WPF Sample Projects * Add Nullability * Enable Nullable on XamarinCommunityToolkit (#1023) * Enable Nullable on Unit Tests * Enable Nullable on Xamarin.CommunityToolkit.Markup * Enable Nullable on Xamarin.CommunityToolkit.Sample * Enable Nullable on Android, GTK, iOS and Tizen Samples * Enable Nullable for UWP & WPF Sample Projects * Add Nullability * Resolve Possible Null References * Removed Possible Null References * Update AppResources.Designer.cs * Handle Nullability * Updated Nullabiltiy * Update Converters & Unit Tests * Resolve MediaSource Unit Tests * Fix Unit Tests (#1036) * Enable Nullable on Unit Tests * Enable Nullable on Xamarin.CommunityToolkit.Markup * Enable Nullable on Xamarin.CommunityToolkit.Sample * Enable Nullable on Android, GTK, iOS and Tizen Samples * Enable Nullable for UWP & WPF Sample Projects * Add Nullability * Resolve Possible Null References * Removed Possible Null References * Update AppResources.Designer.cs * Handle Nullability * Updated Nullabiltiy * Update Converters & Unit Tests * Resolve MediaSource Unit Tests * Fix VariableMultiValueConverter * Fixed ImpliedOrderGridBehavior * Update NumericValidationBehavior.shared.cs * Resolve Nullable in SideMenuView * Move <Nullable>enable</Nullable> to Directory.Build.props * Update Xamarin.CommunityToolkit.Sample.csproj * Revert Designer.cs * Update Xamarin.CommunityToolkit.Sample.csproj * Update ItemSelectedEventArgsConverter_Tests.cs * Update SearchViewModel.cs * Update ItemTappedEventArgsConverter_Tests.cs * Update Xamarin.CommunityToolkit.UnitTests.csproj * Add Nullability * Resolve Compiler Warnings * Ignore Closing square brackets should be spaced correctly With Nullable enabled, `byte[]?` is now valid, however SA1011 was still generating a warning * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Behaviors/ImpliedOrderGridBehavior.shared.cs Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Update CameraFragment.android.cs * Update CameraFragment.android.cs * Update ImpliedOrderGridBehavior.shared.cs * Update MaskedBehavior.shared.cs * Update PopupRenderer.uwp.cs * Use .NET 5.0 * Update azure-pipelines.yml * Update azure-pipelines.yml * Update azure-pipelines.yml * Add UWP to Release Build * Update Nullability * Update Nullablity * Update TabView.shared.cs * Update Nullability * Revert "Update Nullability" This reverts commit e391b9c. * Resolved Nullable * Update azure-pipelines.yml * Revert UWP Build Properties * Update azure-pipelines.yml * Update azure-pipelines.yml * Revert "Update azure-pipelines.yml" This reverts commit 0842280. * Update azure-pipelines.yml * Revert "Revert UWP Build Properties" This reverts commit 77226bf. * Update azure-pipelines.yml * Update azure-pipelines.yml * Update azure-pipelines.yml * Update azure-pipelines.yml * Update azure-pipelines.yml * Update azure-pipelines.yml * Revert "Update azure-pipelines.yml" This reverts commit 4eb36f4. * Update azure-pipelines.yml * Revert "Update azure-pipelines.yml" This reverts commit e41a477. * Fix ValidationBehavior.ForceValidate and ValidationBehavior.DefaultForceValidateCommand * Update SelectAllTextEffect.ios.cs * Remove Nullabilty from LocalizedString.generator * Update MediaElementRenderer.ios.cs * Update PopupRenderer.uwp.cs * Update PopupRenderer.ios.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Snackbar/Helpers/iOS/SnackbarViews/BaseSnackBarView.ios.cs Co-authored-by: Maksym Koshovyi <maximkoshevoi61@gmail.com> * Update TranslateExtension.shared.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Snackbar/SnackBar.android.cs Co-authored-by: Maksym Koshovyi <maximkoshevoi61@gmail.com> * Update Logic * Fix Failing ICommand Tests * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Snackbar/SnackBar.tizen.cs Co-authored-by: Maksym Koshovyi <maximkoshevoi61@gmail.com> * Throw Faulted Task * Use Cast instead of Pattern Matching * Update RangeSlider.shared.cs * Fix missing semi-colons * Throw InvalidOperationException in LocalizationResourceManager * Make TranslateExtension.StringFormat nullable * Update UserStoppedTypingBehavior.shared.cs * Update SearchPage.logic.cs * Update TouchEffectCollectionViewPage.xaml.cs * Update AppResources.Designer.cs * Update AppResources.Designer.cs * Update EnumToBoolConverterViewModel.cs * Update EnumToBoolConverter_Tests.cs * Update IntToBoolConverter_Tests.cs * Update InvertedBoolConverter_Tests.cs * Update IsNotNullOrEmptyConverter_Tests.cs * Update MultiConverter_Tests.cs * Update NotEqualConverter_Tests.cs * Update TextCaseConverter_Tests.cs * Update MockPlatformServices.cs * Update MockPlatformServices.cs * Update Namespace_Tests.cs * Update ObservableRangeCollection_Tests.cs * Update ObservableRangeCollection_Tests.cs * Use `async Task` instead of `async void` * Update MultiValidationBehavior.shared.cs * Update EnumToBoolConverter.shared.cs * Update EnumToBoolConverter.shared.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Converters/NotEqualConverter.shared.cs Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Converters/StateToBooleanConverter.shared.cs Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Converters/TextCaseConverter.shared.cs Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Update IconTintColorEffectRouter.android.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Effects/SelectAllText/SelectAllTextEffect.android.cs Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Update SelectAllTextEffect.android.cs * Update SelectAllTextEffect.ios.cs * Update PlatformTouchEffect.ios.cs * Update PlatformTouchEffect.uwp.cs * Update PlatformTouchEffect.uwp.cs * Update PlatformTouchEffect.macos.cs * Update PlatformTouchEffect.uwp.cs * Update PlatformTouchEffect.uwp.cs * Ensure nullable results from BindableProperties are still resolved * Update ImageResourceExtension.shared.cs * Update BaseCommand.android.cs * Use protected private constructor for BaseCommand * Update BadgeView.shared.cs * Update CameraFragment.android.cs * Fix Android Media Bugs * Update async/await * Update CameraView_Tests.cs * Update CameraView * Update UriTypeConverter.shared.cs * Update PopupRenderer.uwp.cs * Update PopoverArrowDirection.shared.cs * Update PopoverArrowDirection.shared.cs * Update TabView.shared.cs * Improve AsyncCommand Tests * Ensure Context is non nullable * Remove Missing Translations * Fix async/await in TouchEffect.shared.cs * Make Easing Nullable * Update Samples * Fix Null Exception * Resolve NullReferenceExceptions * Make IBadgeAnimation Nullable * Add ShutterCommandValueCreator null check * Add Timeout to prevent race conditions from stalling tests * Unsubscribe Event Handlers for AsyncCommand Tests * Update azure-pipelines.yml * For WPF, Use Cross-Platform Implementation for `BaseCommand.IsMainThread` and `BaseCommand.BeginInvokeOnMainThread` (#965) * Add Non-WPF Support to .NET Core 3.1 * Update comments * Merge .NET Standard and WPF Functionality * Fix Null Reference * Update ICommand_AsyncValueCommand_Tests.cs * Add volatile keyword * Update AsyncValueCommand_Tests.cs * Remove Timeouts * Fix Event Unsubscription * Add .ConfigureAwait(false); * Run dotnet test serially * Use SemaphoreSlim to prevent Race Conditions Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> Co-authored-by: Maksym Koshovyi <maximkoshevoi61@gmail.com> * add SetFocusOnEntryCompleted (#841) (#911) * add SetFocusOnEntryCompleted (#841) * prevent SetFocusOnEntryCompleted memory leak (#841) also force exception if used on non-Entry * cleanup (reuse variable) (#841) * change to attached behavior SetFocusOnEntryCompletedBehavior * remove AttachedBehaviors sub-namespace * fix SetFocusOnEntryCompleted_Tests * simplify SetFocusOnEntryCompletedBehaviorPage * fixed code to be nullable safe * code style Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * #1046 (#1052) * #1025 (#1042) * Merge fixing * Implement SafeFireAndForgetExtensions (#1054) * Implement Safe-Fire-And-Forget * Change `public` to `internal` * Update PlatformTouchEffect.android.cs * Regression #853 (#1063) * [iOS] Fix popup default color and dark mode (#1041) * [iOS] Fix popup default color and dark mode * [Android] Set correct background for default color * [Android] GetWindowColor() for popup background color * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Popup/Android/PopupRenderer.android.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Popup/Android/PopupRenderer.android.cs * Update BasePopup.shared.cs * Update PopupRenderer.android.cs * Update PopupRenderer.android.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Popup/BasePopup.shared.cs Co-authored-by: Andrei <andrei.misiukevich@gmail.com> Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> * Add remove border effect implementation for uwp (#1048) Co-authored-by: Alexander Witkowski <alexander.witkowski@develappers.de> * Added long press event #851 (#1064) * Update LocalizedString.shared.cs (#1071) * Image resource converter (#1068) * Implement ImageResourceConverter * Add a sample for ImageResource extension * Fix nullable errors * Rename converter file to be compiled. * Better exception message Co-authored-by: Andrei <andrei.misiukevich@gmail.com> * Update samples/XCT.Sample/ViewModels/Converters/ImageResourceConverterViewModel.cs * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Converters/ImageResourceConverter.shared.cs * Update samples/XCT.Sample/ViewModels/Converters/ImageResourceConverterViewModel.cs * Update samples/XCT.Sample/ViewModels/Converters/ImageResourceConverterViewModel.cs * Update samples/XCT.Sample/ViewModels/Converters/ImageResourceConverterViewModel.cs * Fix GalleryPage and VM * Update samples/XCT.Sample/ViewModels/Extensions/ExtensionsGalleryViewModel.cs Co-authored-by: Andrei <andrei.misiukevich@gmail.com> * Update samples/XCT.Sample/ViewModels/Extensions/ExtensionsGalleryViewModel.cs Co-authored-by: Andrei <andrei.misiukevich@gmail.com> * Replace Exception approach by extension used by XF (#1028) * Replace Exception approach by extension used by XF * Simplified syntax as requested * Add a missing namespace * Resolve `IAsyncCommand` / `IAsyncValueValueCommand` Unit Test Race Condition (#1076) * Add Unit Test Timeouts * Add macOS Unit Tests * Build 'samples/XCT.Sample.sln' on macOS * Restore Unit Test NuGet Packages * Fix YAML formatting * Add xunit.runner.console * Use latest stable version of Microsoft.NET.Test.Sdk * Fix Unit Tests on macos * Update azure-pipelines.yml * Update azure-pipelines.yml * Update azure-pipelines.yml * Add SemaphoreSlim * Add `dotnet restore` * Update azure-pipelines.yml * Update azure-pipelines.yml * Revert "Add SemaphoreSlim" This reverts commit 6875865. * Revert BaseCommand.semaphoreSlim * Update azure-pipelines.yml * Update azure-pipelines.yml * Update azure-pipelines.yml * Add ConfigureAwait(false) to ValueTaskDelay(int) * Change Platform from NetCore to macOS * Passthrough ValueTask * Update azure-pipelines.yml * Revert "Update azure-pipelines.yml" This reverts commit d7b2842. * Use ConfigureAwait(false) * Rename Task * Remove `static` * Remove `static` * Revert p:BuildInParallel=false * Update azure-pipelines.yml * Revert "Update azure-pipelines.yml" This reverts commit bf93f0c. * Revert "Revert "Update azure-pipelines.yml"" This reverts commit 031121a. * Revert "Revert "Revert "Update azure-pipelines.yml""" This reverts commit 458feb2. * #1066 (#1078) Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> * fix badge background color (#1080) (#1081) Co-authored-by: Matthew S <sattew@yandex.com> Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * allow TextCaseConverter to handle any value type (#1053) * allow TextCaseConverter to handle any value type * remove duplicate Convert method * fix nullability * update TextCaseConverter tests * Update src/CommunityToolkit/Xamarin.CommunityToolkit/Converters/TextCaseConverter.shared.cs Co-authored-by: Andrei <andrei.misiukevich@gmail.com> Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * #850 (#1056) Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> * Platform specific API (#949) * added iOS platformSpecific * added UWP platform specific * Changed the sample * code clean up * added null check for Element Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> * Add some null checks (#1033) Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com> Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> * Migrate Unit Tests to NUnit (#1090) * Migrate to NUnit * Update Tests * Update Azure Pipelines * Update TextCaseConverter_Tests.cs * Update DateTimeOffsetConverter_Tests.cs * Increase Timeout * Increase Timeout * Add `const int defaultTimeoutThreshold` Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> * Enable Nullable for Xamarin.CommunityToolkit.Markup.UnitTests (#1086) * Add Markup Unit Tests * Add Nullable to Xamarin.CommunityToolkit.Markdown.UnitTests * Update BindingHelpers.cs * Fix Failing Unit Tests * Don't capture XUnit's Synchronization Context * Re-order Unit Tests * Revert "Don't capture XUnit's Synchronization Context" This reverts commit b8b3f16. Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com> * Implement a generic version of the EventToCommandBehavior (#1010) * created ECBGeneric * Added Generic implemention to the EventToCommandBehavior * make EventToCommandBehavior<TType> sealed * Fixed for value types * added nullable notations * update the comment * fixed unit test * Migrate Unit Tests to NUnit * Fixed unitTest * changed to use C#9 features * removed Convert method * Add Inheritance Test Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> * [UWP] TouchEffect OnPointerReleased crash (#1088) * Fixed TouchEffect UWP crash * Touch Effect more nullRef fixes * fixed build * fix build Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com> Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> Co-authored-by: Joacim Wall <joacim.wall@gmail.com> Co-authored-by: joacim wall <joacim.wall@evry.com> Co-authored-by: Andrei <andrei.misiukevich@gmail.com> Co-authored-by: Pedro Jesus <pedrojesus.cefet@gmail.com> Co-authored-by: Maksym Koshovyi <maximkoshevoi61@gmail.com> Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> Co-authored-by: Andrew Hoefling <andrew@hoefling.me> Co-authored-by: Cfun <15718354+Cfun1@users.noreply.github.com> Co-authored-by: Sebastian Klatte <sebastian.klatte@posteo.de> Co-authored-by: Vladislav Antonyuk <33021114+VladislavAntonyuk@users.noreply.github.com> Co-authored-by: Sebastian Klatte <sebastian.klatte@trust-communication.com> Co-authored-by: Glenn Versweyveld <Depechie@users.noreply.github.com> Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Eugen Richter <github@richter.consulting> Co-authored-by: Eugen Richter <eugen.richter@amcsgroup.com> Co-authored-by: WillAutioItrax <15933820+WillAutioItrax@users.noreply.github.com> Co-authored-by: tranb3r <tranb3r@gmail.com> Co-authored-by: Jacob Egner <jmegner@gmail.com> Co-authored-by: Alexander Witkowski <alexanderwitkowski@gmail.com> Co-authored-by: Alexander Witkowski <alexander.witkowski@develappers.de> Co-authored-by: Matthew S <sattew@protonmail.com> Co-authored-by: Matthew S <sattew@yandex.com> Co-authored-by: Dan Siegel <me@dansiegel.net> * Generate Mdoc documentation files (#932) * First bits * frameworks * Try some more * Fix * Update to monikers * Update targets * Last fixes I swear * Cleanup comments * Fix path * API Docs fixes * Prevent mdoc from becoming dep Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> * Show initials if stream is empty (#1125) #1120 * Init previousState field with LayoutState.None (#1122) * Init previousState field with LayoutState.None * make previousState non nullable * Fix Expander crash when Direction changed (#1147) #1144 * #1059 a photoOutput != null check taken off. Rebased to develop (#1119) Co-authored-by: Janis Paraschidis <jp@recy-systems.com> Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com> * Update PULL_REQUEST_TEMPLATE.md * Fix animation behavior fires command twice (#1162) * #1099 * Added unit tests * Fix MultiValidationBehavior overwrites external BindingContext bindings (#1163) * #1153 * Update methods to adhere to the `bool Try...` pattern Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> * Fix CI Build Errors on Build Windows Samples job (#1173) * Update azure-pipelines.yml * Clean + Build * Revert "Clean + Build" This reverts commit e93ca82. * Add `dotnet clean` * Update azure-pipelines.yml * Update azure-pipelines.yml * Update azure-pipelines.yml * Add link * Automated dotnet-format update (#1082) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Remove Invalid Documentation * Update dependencies (#1174) Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> * Fix XCT fails build in F# projects (#1133) * Add "shared" to file name * Revert "Add "shared" to file name" This reverts commit 8760ddd. * Include PreserveXamarinCommunityToolkit only in csproj * Add PreserveXamarinCommunityToolkit.fs * Resolve comments * Revert "Resolve comments" This reverts commit 7be495f. * Revert "Add PreserveXamarinCommunityToolkit.fs" This reverts commit 403f20c. Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> * Add F# Project (#1181) * fixed merge * Remove Duplicate `netstandard` configuration * Add Missing `[Obsolete]` and Nullable * fixed unit test * Fix `dotnet test` Release Configuration Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> Co-authored-by: Joacim Wall <joacim.wall@gmail.com> Co-authored-by: joacim wall <joacim.wall@evry.com> Co-authored-by: Andrei <andrei.misiukevich@gmail.com> Co-authored-by: Maksym Koshovyi <maximkoshevoi61@gmail.com> Co-authored-by: Brandon Minnick <13558917+brminnick@users.noreply.github.com> Co-authored-by: Andrew Hoefling <andrew@hoefling.me> Co-authored-by: Cfun <15718354+Cfun1@users.noreply.github.com> Co-authored-by: Sebastian Klatte <sebastian.klatte@posteo.de> Co-authored-by: Vladislav Antonyuk <33021114+VladislavAntonyuk@users.noreply.github.com> Co-authored-by: Sebastian Klatte <sebastian.klatte@trust-communication.com> Co-authored-by: Glenn Versweyveld <Depechie@users.noreply.github.com> Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Eugen Richter <github@richter.consulting> Co-authored-by: Eugen Richter <eugen.richter@amcsgroup.com> Co-authored-by: WillAutioItrax <15933820+WillAutioItrax@users.noreply.github.com> Co-authored-by: tranb3r <tranb3r@gmail.com> Co-authored-by: Jacob Egner <jmegner@gmail.com> Co-authored-by: Alexander Witkowski <alexanderwitkowski@gmail.com> Co-authored-by: Alexander Witkowski <alexander.witkowski@develappers.de> Co-authored-by: Matthew S <sattew@protonmail.com> Co-authored-by: Matthew S <sattew@yandex.com> Co-authored-by: Dan Siegel <me@dansiegel.net> Co-authored-by: Janis Paraschidis <jp@recy-systems.com>
Description of Change
Add an Attached Property to be used with the ProgressBar control, this will allow basic animation when setting the Progress value.
API Changes
PR Checklist