### Install CommunityToolkit.Maui PR Build Package Source: https://github.com/communitytoolkit/maui.git/wiki/Preview-Packages Steps to install a package from a specific pull request build. This involves downloading the artifact, unzipping it, and using the Package Manager Console to install the .nupkg files. ```powershell Install-Package C:\{{Folder Location of package}}\CommunityToolkit.Maui.99.0.0-build-XXXX.XXXXX.nupkg ``` ```powershell Install-Package C:\{{Folder Location of package}}\CommunityToolkit.Maui.Core.99.0.0-build-XXXX.XXXXX.nupkg ``` -------------------------------- ### Install CommunityToolkit.Maui Preview Package Source: https://github.com/communitytoolkit/maui.git/wiki/Preview-Packages Instructions on how to install a preview package from NuGet. This involves enabling the 'Include prerelease' option in Visual Studio to see packages with a '-preview' suffix. ```csharp // In Visual Studio, ensure the 'Include prerelease' checkbox is checked in the NuGet Package Manager version dropdown. ``` -------------------------------- ### Install .NET MAUI Community Toolkit Packages Source: https://github.com/communitytoolkit/maui.git/blob/main/README.md Installs the release versions of the .NET MAUI Community Toolkit packages using the dotnet CLI. This includes the core package, MediaElement, Maps, and Camera functionalities. ```bash dotnet add package CommunityToolkit.Maui dotnet add package CommunityToolkit.Maui.MediaElement dotnet add package CommunityToolkit.Maui.Maps dotnet add package CommunityToolkit.Maui.Camera ``` -------------------------------- ### Install Pre-release .NET MAUI Community Toolkit Packages Source: https://github.com/communitytoolkit/maui.git/blob/main/README.md Installs pre-release versions of the .NET MAUI Community Toolkit packages from GitHub Packages. Ensure you have added the GitHub Packages source with authentication first. ```bash dotnet add package CommunityToolkit.Maui --version 99.0.0-preview980 dotnet add package CommunityToolkit.Maui.MediaElement --version 99.0.0-preview980 dotnet add package CommunityToolkit.Maui.Maps --version 99.0.0-preview980 dotnet add package CommunityToolkit.Maui.Camera --version 99.0.0-preview980 ``` -------------------------------- ### IPopupService: Using Shell Source: https://github.com/communitytoolkit/maui.git/wiki/Migrating-to-Popup-v2 Shows how to use the Shell parameter with IPopupService.ShowPopupAsync to display a popup, utilizing the current Shell instance. ```csharp await popupService.ShowPopupAsync(Shell.Current); ``` -------------------------------- ### Prerequisites for .NET MAUI Community Toolkit Contribution Source: https://github.com/communitytoolkit/maui.git/blob/main/CONTRIBUTING.md Lists the essential software and tools required before contributing to the .NET MAUI Community Toolkit. This includes installing the .NET SDK and MAUI workloads. ```bash Install latest stable .NET SDK Install .NET MAUI workloads (we recommend using Visual Studio installer) ``` -------------------------------- ### IPopupService: Using INavigation Source: https://github.com/communitytoolkit/maui.git/wiki/Migrating-to-Popup-v2 Demonstrates how to use the INavigation parameter with IPopupService.ShowPopupAsync to display a popup on a specific window, typically obtained from a Page's Navigation property. ```csharp public class MyPage : ContentPage { public async Task DisplayPopup() { await popupService.ShowPopupAsync(Navigation); } } ``` -------------------------------- ### Passing Data to Popups: New Method with IQueryAttributable Source: https://github.com/communitytoolkit/maui.git/wiki/Migrating-to-Popup-v2 Illustrates the current method of passing data to a popup using the IQueryAttributable interface, which integrates with .NET MAUI Shell for navigation data processing. ```csharp public class NamePopupViewModel : ObservableObject, IQueryAttributable { [ObservableProperty] public partial string Name { get; set; } = ""; public void ApplyQueryAttributes(IDictionary query) { Name = query[nameof(NamePopupViewModel.Name)] as string; } } public class MyViewModel : INotifyPropertyChanged { private readonly IPopupService popupService; public MyViewModel(IPopupService popupService) { this.popupService = popupService; } public async Task DisplayPopup() { var queryAttributes = new Dictionary { [nameof(NamePopupViewModel.Name)] = "Shaun" }; await this.popupService.ShowPopupAsync( Shell.Current, options: null, queryAttributes); } } ``` -------------------------------- ### Passing Data to Popups: Original Method Source: https://github.com/communitytoolkit/maui.git/wiki/Migrating-to-Popup-v2 Demonstrates the previous method of passing data to a popup using the 'onPresenting' parameter in IPopupService.Show. ```csharp public class NamePopupViewModel : ObservableObject { [ObservableProperty] public partial string Name { get; set; } = ""; } public class MyViewModel : INotifyPropertyChanged { private readonly IPopupService popupService; public MyViewModel(IPopupService popupService) { this.popupService = popupService; } public void DisplayPopup() { this.popupService.ShowPopup(onPresenting: viewModel => viewModel.Name = "Shaun"); } } ``` -------------------------------- ### Add GitHub Packages Source for Pre-release Versions Source: https://github.com/communitytoolkit/maui.git/blob/main/README.md Adds the GitHub Packages source to your NuGet configuration to install pre-release versions of the .NET MAUI Community Toolkit. Requires authentication with a GitHub personal access token (classic) with the 'read:packages' scope. ```bash dotnet nuget add source https://nuget.pkg.github.com/CommunityToolkit/index.json -n CommunityToolkitGitHubNuget -u YOUR_GITHUB_USERNAME -p YOUR_GITHUB_PERSONAL_ACCESS_TOKEN ``` -------------------------------- ### Shell Routing through Attributes Source: https://github.com/communitytoolkit/maui.git/wiki/2023-December-Standup A discussion on implementing Shell Routing in MAUI using attributes. This approach aims to simplify navigation setup by defining routes directly within the code. ```C# https://github.com/CommunityToolkit/Maui/discussions/1004 ``` -------------------------------- ### MVVM-Opinionated Button Implementation Source: https://github.com/communitytoolkit/maui.git/wiki/MCT-architecture Implements the agnostic IButton interface from the Core project within the Controls project. This example demonstrates how to bind the OnClick method to an ICommand, leveraging MVVM patterns and BindableProperties. ```csharp public class Button : View, IButton { public static readonly BindableProperty ClickCommandProperty = BindableProperty.Create(nameof(ClickCommand), typeof(ICommand), typeof(Button)); public ICommand ClickCommand { get => (ICommand)GetValue(ClickCommandProperty); set => SetValue(ClickCommandProperty, value); } void IButton.OnClick() { ClickCommand?.Invoke(); } } ``` -------------------------------- ### Migrating Size Property Source: https://github.com/communitytoolkit/maui.git/wiki/Migrating-to-Popup-v2 Demonstrates the change from the `Size` property to `WidthRequest` and `HeightRequest` in XAML for Popup elements. ```xaml ``` -------------------------------- ### Migrating Color Property Source: https://github.com/communitytoolkit/maui.git/wiki/Migrating-to-Popup-v2 Illustrates the replacement of the `Color` property with `BackgroundColor` for Popup elements in XAML. ```xaml ``` -------------------------------- ### MCT001: .UseMauiCommunityToolkit() Not Found Source: https://github.com/communitytoolkit/maui.git/blob/main/src/CommunityToolkit.Maui.Analyzers/AnalyzerReleases.Shipped.md This rule flags an error when the `.UseMauiCommunityToolkit()` method is not found on the `MauiAppBuilder`. It indicates a potential issue with the setup or integration of the CommunityToolkit in a MAUI application. ```APIDOC Rule ID: MCT001 Category: Usage Severity: Error Notes: .UseMauiCommunityToolkit() Not Found on MauiAppBuilder ``` -------------------------------- ### Handle Tapping Outside Popup Source: https://github.com/communitytoolkit/maui.git/wiki/Migrating-to-Popup-v2 Allows developers to receive a callback when the popup is closed by tapping outside of its bounds. ```csharp await this.ShowPopupAsync(new SimplePopup(), new PopupOptions { OnTappingOutsideOfPopup = () => { /* Handle tap outside */ } }); ``` -------------------------------- ### Controlling Dismissal via Tapping Outside Source: https://github.com/communitytoolkit/maui.git/wiki/Migrating-to-Popup-v2 Shows how to use `PopupOptions` to prevent a popup from being dismissed when the user taps outside its bounds. ```csharp await this.ShowPopupAsync(new SimplePopup(), new PopupOptions { CanBeDismissedByTappingOutsideOfPopup = false }); ``` -------------------------------- ### Set Popup Shadow Source: https://github.com/communitytoolkit/maui.git/wiki/Migrating-to-Popup-v2 Controls the shadow applied to the popup. Can be set to null to disable the shadow. For more details, refer to .NET MAUI Shadow. ```csharp await this.ShowPopupAsync(new SimplePopup(), new PopupOptions { Shadow = new Shadow { Brush = Brush.Green, Opacity = 0.8f } }); ``` ```csharp await this.ShowPopupAsync(new SimplePopup(), new PopupOptions { Shadow = null }); ``` -------------------------------- ### Set Page Overlay Color Source: https://github.com/communitytoolkit/maui.git/wiki/Migrating-to-Popup-v2 Controls the color that overlays the current page when a popup is displayed. The alpha property can be used to control opacity. ```csharp await this.ShowPopupAsync(new SimplePopup(), new PopupOptions { PageOverlayColor = Colors.Orange }); ``` ```csharp await this.ShowPopupAsync(new SimplePopup(), new PopupOptions { PageOverlayColor = Colors.Orange.WithAlpha(0.5f) }); ``` -------------------------------- ### Set Popup Shape and Border Source: https://github.com/communitytoolkit/maui.git/wiki/Migrating-to-Popup-v2 Controls the appearance of the border around the popup content. Can be set to null to disable the border. For more details, refer to .NET MAUI Shapes. ```csharp await this.ShowPopupAsync(new SimplePopup(), new PopupOptions { Shape = new RoundRectangle { CornerRadius = new CornerRadius(4), Stroke = Colors.Blue, StrokeThickness = 4 } }); ``` ```csharp await this.ShowPopupAsync(new SimplePopup(), new PopupOptions { Shape = null }); ``` -------------------------------- ### Discussion: Full Screen Windows Support for MediaElement Source: https://github.com/communitytoolkit/maui.git/wiki/2023-November-Standup A discussion regarding the addition of full-screen support for the MediaElement component on Windows within CommunityToolkit.Maui. The GitHub discussion thread has more details. ```markdown - (Brandon) Add Full Screen Windows Support for MediaElement https://github.com/CommunityToolkit/Maui/discussions/929 ``` -------------------------------- ### Initialize .NET MAUI Community Toolkit Source: https://github.com/communitytoolkit/maui.git/blob/main/src/CommunityToolkit.Maui/ReadMe.txt Demonstrates how to initialize the .NET MAUI Community Toolkit by calling the `UseMauiCommunityToolkit()` extension method in the `MauiProgram.cs` file. This is a required step to enable the toolkit's features. ```csharp using CommunityToolkit.Maui; public static class MauiProgram { public static MauiApp CreateMauiApp() { var builder = MauiApp.CreateBuilder(); builder .UseMauiApp() // Initialize the .NET MAUI Community Toolkit by adding the below line of code .UseMauiCommunityToolkit() // After initializing the .NET MAUI Community Toolkit, optionally add additional fonts .ConfigureFonts(fonts => { fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold"); }); // Continue initializing your .NET MAUI App here return builder.Build(); } } ``` -------------------------------- ### CommunityToolkit.Maui Release Notes Source: https://github.com/communitytoolkit/maui.git/wiki/2025-January-Standup Lists recent and upcoming release versions for various CommunityToolkit.Maui packages, including support for .NET 9. ```markdown - Recent Releases: .NET 9 Support! - CommunityToolkit.Maui.Markup v5.1.0 - CommunityToolkit.Maui v10.0.0 - CommunityToolkit.Maui.MediaElement v5.0.0 - CommunityToolkit.Maui.Maps v3.0.0 - CommunityToolkit.Maui.Camera v2.0.0 - Upcoming Releases - CommunityToolkit.Maui v10.0.1 - CommunityToolkit.Maui.Camera v2.0.1 - CommunityToolkit.Maui.Maps v3.0.1 ``` -------------------------------- ### Discussion: Shell Routing through Attributes Source: https://github.com/communitytoolkit/maui.git/wiki/2023-November-Standup A discussion focused on implementing Shell Routing using attributes within CommunityToolkit.Maui. The GitHub discussion thread contains more information. ```markdown - (Brandon) Shell Routing through Attributes https://github.com/CommunityToolkit/Maui/discussions/1004 ``` -------------------------------- ### Initialize .NET MAUI Community Toolkit MediaElement Source: https://github.com/communitytoolkit/maui.git/blob/main/src/CommunityToolkit.Maui.MediaElement/readme.txt This C# code snippet demonstrates how to initialize the .NET MAUI Community Toolkit MediaElement by calling the `UseMauiCommunityToolkitMediaElement()` extension method in the `MauiProgram.cs` file. This is a required step before using the MediaElement. ```csharp using CommunityToolkit.Maui; public static class MauiProgram { public static MauiApp CreateMauiApp() { var builder = MauiApp.CreateBuilder(); builder .UseMauiApp() // Initialize the .NET MAUI Community Toolkit MediaElement by adding the below line of code .UseMauiCommunityToolkitMediaElement() // After initializing the .NET MAUI Community Toolkit, optionally add additional fonts .ConfigureFonts(fonts => { fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold"); }); // Continue initializing your .NET MAUI App here return builder.Build(); } } ``` -------------------------------- ### Initialize .NET MAUI Community Toolkit Source: https://github.com/communitytoolkit/maui.git/blob/main/src/CommunityToolkit.Maui.Camera/readme.txt This code snippet demonstrates how to initialize the .NET MAUI Community Toolkit CameraView by calling the `UseMauiCommunityToolkitCamera()` extension method in your `MauiProgram.cs` file. This is a required step before using the toolkit's features. ```csharp using CommunityToolkit.Maui; public static class MauiProgram { public static MauiApp CreateMauiApp() { var builder = MauiApp.CreateBuilder(); builder .UseMauiApp() // Initialize the .NET MAUI Community Toolkit CameraView by adding the below line of code .UseMauiCommunityToolkitCamera() // After initializing the .NET MAUI Community Toolkit, optionally add additional fonts .ConfigureFonts(fonts => { fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold"); }); // Continue initializing your .NET MAUI App here return builder.Build(); } } ``` -------------------------------- ### Initialize .NET MAUI Community Toolkit Source: https://github.com/communitytoolkit/maui.git/blob/main/src/CommunityToolkit.Maui.Core/readme.txt This code snippet demonstrates how to initialize the .NET MAUI Community Toolkit by calling the `UseMauiCommunityToolkitCore()` extension method in your `MauiProgram.cs` file. This is a required step before using the toolkit's features. ```csharp using CommunityToolkit.Maui.Core; public static MauiApp CreateMauiApp() { var builder = MauiApp.CreateBuilder(); // Initialise the toolkit builder.UseMauiApp().UseMauiCommunityToolkitCore(); // the rest of your logic... } ``` -------------------------------- ### CommunityToolkit.Maui.Markup Issues and PRs Source: https://github.com/communitytoolkit/maui.git/wiki/2025-January-Standup Details community issues and pull requests for the CommunityToolkit.Maui.Markup project, focusing on .NET 9 updates and binding enhancements. ```markdown - (Brandon) Automated Setter method for Two-Way Binding and Default BindableProperties https://github.com/CommunityToolkit/Maui.Markup/issues/345 - (Brandon) Update to .NET 9 https://github.com/CommunityToolkit/Maui.Markup/pull/324 ``` -------------------------------- ### Initial musings on showing popups without subclassing Popup Source: https://github.com/communitytoolkit/maui.git/wiki/2023-December-Standup A pull request exploring initial ideas for showing popups in CommunityToolkit.Maui without the need to subclass the Popup class. This could offer a more streamlined approach to popup creation and display. ```C# https://github.com/CommunityToolkit/Maui/pull/1581 ``` -------------------------------- ### New Feature Submission Workflow Source: https://github.com/communitytoolkit/maui.git/blob/main/README.md Illustrates the step-by-step process for proposing and integrating new features into the .NET MAUI Toolkit, from discussion to completion. ```markdown 1. Discussion Started 2. Proposal Submitted 3. Proposal Championed 4. Proposal Approved 5. Pull Request Approved 6. Documentation Complete 7. Completed ``` -------------------------------- ### Community Toolkit MAUI Discussions Source: https://github.com/communitytoolkit/maui.git/wiki/February-2023-Standup Community discussions on topics such as simultaneous Toast notifications, cross-platform cursor mechanisms, PopupService, and control disposal. ```APIDOC Discussion: Support for simultaneous Toast notifications ID: #939 Description: Exploring the possibility of supporting multiple simultaneous toast notifications. Discussion: Cross-platform mechanism for setting the mouse cursor ID: #938 Description: Investigating a unified approach for setting the mouse cursor across different platforms. Discussion: PopupService ID: #933 Description: Community feedback and ideas regarding a PopupService. Discussion: Be less aggressive disposing controls ID: #873 Description: Discussing strategies to reduce aggressive control disposal. ``` -------------------------------- ### Initialize .NET MAUI Community Toolkit Source: https://github.com/communitytoolkit/maui.git/blob/main/README.md Initializes the .NET MAUI Community Toolkit within your MAUI application by calling the `UseMauiCommunityToolkit()` extension method in the `MauiProgram.cs` file. This enables the toolkit's features for your app. ```csharp using CommunityToolkit.Maui; public static class MauiProgram { public static MauiApp CreateMauiApp() { var builder = MauiApp.CreateBuilder(); builder .UseMauiApp() // Initialize the .NET MAUI Community Toolkit by adding the below line of code .UseMauiCommunityToolkit() // After initializing the .NET MAUI Community Toolkit, optionally add additional fonts .ConfigureFonts(fonts => { fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold"); }); // Continue initializing your .NET MAUI App here return builder.Build(); } } ``` -------------------------------- ### Community Toolkit MAUI Proposals Source: https://github.com/communitytoolkit/maui.git/wiki/February-2023-Standup Community proposals for the MAUI toolkit, including modal windows for desktop, improving NuGet package quality, and iOS popup arrow direction. ```APIDOC Proposal: Modal windows for Desktop apps ID: #842 Description: Enhancing modal window support for desktop applications. Proposal: Improve NuGet package quality ID: #520 Description: Focus on enhancing the overall quality of NuGet packages. Proposal: iOS Popup Arrow Direction ID: #101 Description: Addressing the direction of popup arrows on iOS. ``` -------------------------------- ### Initialize .NET MAUI Community Toolkit Maps Source: https://github.com/communitytoolkit/maui.git/blob/main/src/CommunityToolkit.Maui.Maps/ReadMe.txt This code snippet shows how to initialize the .NET MAUI Community Toolkit Maps in the `MauiProgram.cs` file. It includes platform-specific initialization for Windows and other platforms, as well as configuring custom fonts. ```csharp using CommunityToolkit.Maui; public static class MauiProgram { public static MauiApp CreateMauiApp() { var builder = MauiApp.CreateBuilder(); builder .UseMauiApp() #if WINDOWS // Initialize the .NET MAUI Community Toolkit Maps by adding the below line of code .UseMauiCommunityToolkitMaps("key") #else // For all other platforms .UseMauiMaps() #endif // After initializing the .NET MAUI Community Toolkit, optionally add additional fonts .ConfigureFonts(fonts => { fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold"); }); // Continue initializing your .NET MAUI App here return builder.Build(); } } ``` -------------------------------- ### Add Full Screen Windows Support for MediaElement Source: https://github.com/communitytoolkit/maui.git/wiki/2023-December-Standup A discussion about adding full-screen window support for the MediaElement in MAUI. This feature would enhance the media playback experience by allowing users to view content in full screen. ```C# https://github.com/CommunityToolkit/Maui/discussions/929 ``` -------------------------------- ### CommunityToolkit.Maui - .NET 8 Support Source: https://github.com/communitytoolkit/maui.git/wiki/2023-September-Standup Highlights a pull request that adds support for .NET 8 to the CommunityToolkit.Maui library. ```markdown - (Vlad) .NET 8: https://github.com/CommunityToolkit/Maui/pull/1367 ``` -------------------------------- ### Port Android MediaElement from ExoPlayer to Media3 Source: https://github.com/communitytoolkit/maui.git/wiki/2023-December-Standup Proposal to port the Android MediaElement implementation in CommunityToolkit.Maui from ExoPlayer to Media3. This update aims to leverage the latest advancements in Android media playback. ```C# https://github.com/CommunityToolkit/Maui/issues/1511 ``` -------------------------------- ### CommunityToolkit.Maui v6.1.0 Release Source: https://github.com/communitytoolkit/maui.git/wiki/2023-November-Standup Details about the upcoming release of CommunityToolkit.Maui v6.1.0, which will be the final release supporting .NET 7. It includes bug fixes for Popups, improvements to Source Generators, new DrawingView features, and Popup Styles. ```markdown - Final release supporting .NET 7 - Popup bug fixes, Source Generator improvements, new DrawingView features and Popup Styles ``` -------------------------------- ### MAUI Markup way to define Styles Source: https://github.com/communitytoolkit/maui.git/wiki/2023-December-Standup A discussion within the CommunityToolkit.Maui.Markup community about the preferred methods for defining styles using MAUI Markup. This explores best practices for styling applications with the markup extension. ```C# https://github.com/CommunityToolkit/Maui.Markup/discussions/64 ``` -------------------------------- ### CommunityToolkit.Maui Proposals Source: https://github.com/communitytoolkit/maui.git/wiki/March-2023-Standup Details on proposed features for CommunityToolkit.Maui, including issue links for further discussion and implementation tracking. ```APIDOC Keyboard Manager: Proposal: Add Keyboard Manager Issue: https://github.com/CommunityToolkit/Maui/issues/1055 ``` ```APIDOC CameraView: Proposal: Add CameraView Issue: https://github.com/CommunityToolkit/Maui/issues/259 ``` ```APIDOC TouchEffect: Proposal: Add TouchEffect Issue: https://github.com/CommunityToolkit/Maui/issues/86 ``` ```APIDOC PopupService: Proposal: Add PopupService Issue: https://github.com/CommunityToolkit/Maui/issues/981 ``` -------------------------------- ### CommunityToolkit.Maui Discussions Source: https://github.com/communitytoolkit/maui.git/wiki/2023-June-Standup Ongoing discussions related to CommunityToolkit.Maui, covering topics such as service registration and popup behavior on iOS. ```APIDOC CommunityToolkit.Maui: Discussions: - Register Services inside the UseCommunityToolkit call: https://github.com/CommunityToolkit/Maui/discussions/1208 - Popup on iOS: https://github.com/CommunityToolkit/Maui/discussions/1202 ``` -------------------------------- ### MauiAppBuilder Extension Method Source: https://github.com/communitytoolkit/maui.git/blob/main/src/CommunityToolkit.Maui.MediaElement.Analyzers/AnalyzerReleases.Shipped.md This snippet demonstrates the correct usage of the `UseMauiCommunityToolkitMediaElement()` extension method on `MauiAppBuilder`. It is essential for integrating the MediaElement control from the CommunityToolkit into your MAUI application. ```csharp using CommunityToolkit.Maui; public static class MauiProgram { public static MauiApp CreateMauiApp() { var builder = MauiApp.CreateBuilder(); builder .UseMauiApp() .ConfigureFonts(fonts => { fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold"); }) .UseMauiCommunityToolkitMediaElement(); // Correct usage return builder.Build(); } } ``` -------------------------------- ### CommunityToolkit.Maui Issues and PRs Source: https://github.com/communitytoolkit/maui.git/wiki/2025-January-Standup Highlights key community issues and pull requests for the CommunityToolkit.Maui project, including bug fixes and feature enhancements. ```markdown - (Brandon) [TouchBehavior cancel animation even though it is just short tap](https://github.com/CommunityToolkit/Maui/issues/2063) - (James) MediaElement Notification Prompt Overrides and Alters Push Notification Settings on Android https://github.com/CommunityToolkit/Maui/issues/2364 - (James) [Add support for local files and package resources to MediaElement](https://github.com/CommunityToolkit/Maui/issues/2151) - (Vlad) Popup 2.0 (https://redth.codes/popups-with-net-maui-no-plugin-nuget-needed) - (Brandon/Pedro) Fix statusBar color changes on modal pages: https://github.com/CommunityToolkit/Maui/pull/2413 - (Brandon) iOS StatusBarBehavior does not occupy entire notch: https://github.com/CommunityToolkit/Maui/pull/2309 - (James) Update Media Element to use Media3 https://github.com/CommunityToolkit/Maui/pull/2076 - (James) Add Subtitle Support for MediaElement: https://github.com/CommunityToolkit/Maui/pull/1918 - (James) Update MediaElement Transport Controls for Windows https://github.com/CommunityToolkit/Maui/pull/2329 ``` -------------------------------- ### CommunityToolkit.Maui Discussions Source: https://github.com/communitytoolkit/maui.git/wiki/March-2023-Standup Ongoing discussions related to CommunityToolkit.Maui, focusing on architectural decisions and best practices. ```APIDOC Control Disposal: Discussion: Be less aggressive on disposing controls Link: https://github.com/CommunityToolkit/Maui/discussions/873 ``` -------------------------------- ### CommunityToolkit.Maui Announcements Source: https://github.com/communitytoolkit/maui.git/wiki/February-2023-Standup Announcements regarding the release of CommunityToolkit.Maui v4.0.0 and CommunityToolkit.Maui.MediaElement v1.0.1. Also mentions upcoming CommunityToolkit.Maui.Markup v3.0.0. ```APIDOC CommunityToolkit.Maui: Version: 4.0.0 Description: Core toolkit for MAUI applications. CommunityToolkit.Maui.MediaElement: Version: 1.0.1 Description: MediaElement control for MAUI. CommunityToolkit.Maui.Markup: Version: Upcoming (3.0.0) Description: Markup extensions for MAUI. ``` -------------------------------- ### CommunityToolkit.Maui.Markup Proposals and Discussions Source: https://github.com/communitytoolkit/maui.git/wiki/2023-June-Standup Information regarding proposals and discussions for the CommunityToolkit.Maui.Markup library, including feature requests and implementation ideas. ```APIDOC CommunityToolkit.Maui.Markup: Proposals: - Add RelativeBindingSource Support to Typed Bindings Extensions: https://github.com/CommunityToolkit/Maui.Markup/issues/200 Discussions: - Maui.Markup way to define VisualStates: https://github.com/CommunityToolkit/Maui.Markup/discussions/64 ``` -------------------------------- ### CommunityToolkit.Maui.Markup Proposals Source: https://github.com/communitytoolkit/maui.git/wiki/February-2023-Standup Proposals for the MAUI Markup library, specifically regarding TypedBinding support for IValueConverter. ```APIDOC Proposal: TypedBinding support to provide IValueConverter ID: #179 Description: Adding TypedBinding support to enable IValueConverter functionality within MAUI Markup. ``` -------------------------------- ### Proposal: TabView Source: https://github.com/communitytoolkit/maui.git/wiki/2023-November-Standup Discussion and proposal related to the TabView component for CommunityToolkit.Maui. The relevant GitHub issue provides more context. ```markdown - (Victor / Vlad) TabView https://github.com/CommunityToolkit/Maui/issues/121 ``` -------------------------------- ### CommunityToolkit.Maui.MediaElement Releases Source: https://github.com/communitytoolkit/maui.git/wiki/March-2023-Standup Information on the latest releases for CommunityToolkit.Maui.MediaElement, including version numbers and links to release tags. ```APIDOC CommunityToolkit.Maui.MediaElement: v1.0.2: https://github.com/CommunityToolkit/Maui/releases/tag/1.0.2-mediaelement ``` -------------------------------- ### CommunityToolkit.Maui - Resources and Style to Popup Source: https://github.com/communitytoolkit/maui.git/wiki/2023-September-Standup Describes a pull request that adds resources and style customization options to the Popup component in CommunityToolkit.Maui. ```markdown - (Brandon) Add Resources and Style to Popup https://github.com/CommunityToolkit/Maui/pull/1351 ``` -------------------------------- ### Debug Logging Best Practice Source: https://github.com/communitytoolkit/maui.git/blob/main/CONTRIBUTING.md This snippet highlights the recommended method for debug logging in the project. It emphasizes using `Trace.WriteLine()` over `Debug.WriteLine()` to ensure logs are available in Release builds. ```csharp Trace.WriteLine("Your debug message here"); ``` -------------------------------- ### PR: Change Popup Overlay Display on Windows Source: https://github.com/communitytoolkit/maui.git/wiki/2023-November-Standup This pull request modifies how the Popup Overlay is displayed on Windows for CommunityToolkit.Maui. Refer to the GitHub PR for implementation details. ```markdown - (Brandon) Change the display method of Popup Overlay on Windows https://github.com/CommunityToolkit/Maui/pull/1485 ``` -------------------------------- ### CommunityToolkit.Maui Releases Source: https://github.com/communitytoolkit/maui.git/wiki/2023-June-Standup Information on recent releases for CommunityToolkit.Maui and related packages, including version numbers and links to release notes. ```APIDOC CommunityToolkit.Maui: Version: 5.2.0 Release Notes: https://github.com/CommunityToolkit/Maui/releases/tag/5.2.0 CommunityToolkit.Maui.MediaElement: Version: 2.0.0 Release Notes: https://github.com/CommunityToolkit/Maui/releases/tag/2.0.0-mediaelement CommunityToolkit.Maui.Markup: Version: 3.2.0 Release Notes: https://github.com/CommunityToolkit/Maui.Markup/releases/tag/3.2.0 ``` -------------------------------- ### MAUI App Builder Camera Configuration Source: https://github.com/communitytoolkit/maui.git/blob/main/src/CommunityToolkit.Maui.Camera.Analyzers/AnalyzerReleases.Shipped.md This rule checks if the `MauiAppBuilder` is correctly configured to use the CommunityToolkit Camera functionality. It ensures that the `.UseMauiCommunityToolkitCamera()` extension method is called. ```csharp public static class MauiAppBuilderExtensions { public static MauiAppBuilder UseMauiCommunityToolkitCamera(this MauiAppBuilder builder) { // Implementation details for camera setup return builder; } } ``` -------------------------------- ### Add Support for NativeAOT Source: https://github.com/communitytoolkit/maui.git/wiki/2023-December-Standup Proposal to add support for NativeAOT (Ahead-Of-Time compilation) in CommunityToolkit.Maui. This will enable Ahead-Of-Time compilation for .NET MAUI applications, potentially improving performance and deployment. ```C# https://github.com/CommunityToolkit/Maui/issues/1509 ``` -------------------------------- ### CommunityToolkit.Maui.Markup - C# Hot Reload Support Source: https://github.com/communitytoolkit/maui.git/wiki/2023-September-Standup Details a pull request that adds support for C# Hot Reload to the CommunityToolkit.Maui.Markup library. ```markdown Add support for C# Hot Reload: https://github.com/CommunityToolkit/Maui.Markup/pull/232 ``` -------------------------------- ### CommunityToolkit.Maui.Markup Proposals Source: https://github.com/communitytoolkit/maui.git/wiki/March-2023-Standup Details on proposed features for CommunityToolkit.Maui.Markup, specifically regarding gesture extensions. ```APIDOC GesturesExtensions: Proposal: Add TypedBindings to GesturesExtensions Issue: https://github.com/CommunityToolkit/Maui.Markup/issues/191 ``` -------------------------------- ### PR: Add Support for UseCommunityToolkit() Source: https://github.com/communitytoolkit/maui.git/wiki/2023-November-Standup A pull request to add support for the `UseCommunityToolkit()` extension method in CommunityToolkit.Maui. The GitHub PR contains further details. ```markdown - (Brandon) MCTME001: Add Support for `UseCommunityToolkit ()` https://github.com/CommunityToolkit/Maui/pull/1477 ``` -------------------------------- ### PR: Update StatusBarBehavior to use NavigatedTo Source: https://github.com/communitytoolkit/maui.git/wiki/2023-November-Standup This pull request updates the StatusBarBehavior in CommunityToolkit.Maui to utilize the NavigatedTo event. More information is available in the linked GitHub PR. ```markdown - (Brandon) Updated StatusBarBehavior to use the NavigatedTo event https://github.com/CommunityToolkit/Maui/pull/1471 ``` -------------------------------- ### CommunityToolkit.Maui - FileSaver + FolderPicker Path Behavior Source: https://github.com/communitytoolkit/maui.git/wiki/2023-September-Standup Details a pull request that fixes the path behavior for FileSaver and FolderPicker in CommunityToolkit.Maui. ```markdown - (Brandon) Fix Path Behavior of FileSaver + FolderPicker: https://github.com/CommunityToolkit/Maui/pull/1341 ``` -------------------------------- ### Community Toolkit MAUI Issues Source: https://github.com/communitytoolkit/maui.git/wiki/February-2023-Standup Tracking of issues within the MAUI toolkit, including ensuring no references to XCT, status bar behavior in Shell, MediaElement crash on iOS, and MCT001 not recognizing libraries. ```APIDOC Issue: Ensure no references to XCT ID: #17 Description: Verifying that there are no residual references to XCT. Issue: Statusbar Behavior Frame in Shell ID: #762 Description: Investigating status bar behavior within Shell frames. Issue: MediaElement v1.0.1 Crash on iOS ID: #937 Description: Addressing a crash issue with MediaElement v1.0.1 on iOS. Issue: MCT001 Doesn't Recognize Library ID: #501 Description: Resolving an issue where MCT001 fails to recognize the library. ``` -------------------------------- ### Enhance PopupService to provide Close methods Source: https://github.com/communitytoolkit/maui.git/wiki/2023-December-Standup Proposal to enhance the PopupService in CommunityToolkit.Maui to include a set of Close methods for better popup management. This aims to simplify the process of closing popups from various contexts. ```C# https://github.com/CommunityToolkit/Maui/issues/1530 ``` -------------------------------- ### Discussion: Calendar Component Source: https://github.com/communitytoolkit/maui.git/wiki/2023-November-Standup A discussion about the Calendar component for CommunityToolkit.Maui. Further details and community input can be found in the linked GitHub discussion. ```markdown - (Brandon) Calendar https://github.com/CommunityToolkit/Maui/discussions/265 ``` -------------------------------- ### CommunityToolkit.Maui v7.0.0 Release Source: https://github.com/communitytoolkit/maui.git/wiki/2023-November-Standup Information regarding the upcoming release of CommunityToolkit.Maui v7.0.0. This version will introduce a breaking change, requiring .NET 8, and is scheduled for release on the same day as MAUI .NET 8 support. ```markdown - Breaking Change: Requires .NET 8 - Will be released the same day as MAUI .NET 8 support ``` -------------------------------- ### Agnostic Button Interface Source: https://github.com/communitytoolkit/maui.git/wiki/MCT-architecture Defines a platform-agnostic interface for a button's click action using a void method, allowing implementers to abstract it into their desired pattern (e.g., Command, event). This avoids MVVM-specific concepts like ICommand in the Core project. ```csharp public interface IButton { void OnClick(); } ``` -------------------------------- ### CommunityToolkit.Maui Releases Source: https://github.com/communitytoolkit/maui.git/wiki/March-2023-Standup Information on the latest releases for CommunityToolkit.Maui, including version numbers and links to release notes. ```APIDOC CommunityToolkit.Maui: v5.0.0: https://github.com/CommunityToolkit/Maui/releases/tag/5.0.0 ``` -------------------------------- ### Community Toolkit MAUI Pull Requests Source: https://github.com/communitytoolkit/maui.git/wiki/February-2023-Standup Details on a pull request for MediaElement's ShouldMute functionality. ```APIDOC Pull Request: MediaElement ShouldMute ID: #953 Description: Implementation for the ShouldMute property in MediaElement. ``` -------------------------------- ### XAML Namespace for .NET MAUI Community Toolkit Source: https://github.com/communitytoolkit/maui.git/blob/main/src/CommunityToolkit.Maui.MediaElement/readme.txt This XML snippet shows the namespace declaration required to use the .NET MAUI Community Toolkit components, including the MediaElement, within your XAML files. ```xml xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit" ``` -------------------------------- ### CommunityToolkit.Maui Proposals and PRs Source: https://github.com/communitytoolkit/maui.git/wiki/2023-June-Standup Details on active proposals and pull requests for CommunityToolkit.Maui, including issue numbers and links for further discussion. ```APIDOC CommunityToolkit.Maui: Proposals: - EventArgsConverter: https://github.com/CommunityToolkit/Maui/issues/1134 PRs: - Fix Popup NRE: https://github.com/CommunityToolkit/Maui/pull/1197 - BadgeCounter: https://github.com/CommunityToolkit/Maui/pull/1126 ``` -------------------------------- ### PR: Consider Loaded Event for Windows Popup Source: https://github.com/communitytoolkit/maui.git/wiki/2023-November-Standup A pull request that adds consideration for the Loaded event when handling Popups on Windows within CommunityToolkit.Maui. The GitHub PR provides the specifics. ```markdown - (Brandon) Add Consideration of Loaded event to Popup on Windows https://github.com/CommunityToolkit/Maui/pull/1470 ``` -------------------------------- ### Discussion: AppIcon Badge Source: https://github.com/communitytoolkit/maui.git/wiki/2023-November-Standup Community discussion concerning the AppIcon Badge feature for CommunityToolkit.Maui. The GitHub discussion provides more context and input. ```markdown - (Brandon / Konstantin) AppIcon Badge https://github.com/CommunityToolkit/Maui/discussions/734 ``` -------------------------------- ### CommunityToolkit.Maui Pull Requests Source: https://github.com/communitytoolkit/maui.git/wiki/March-2023-Standup Information on active pull requests for CommunityToolkit.Maui, including links to the PRs for review and merging. ```APIDOC Windows Maps: Pull Request: Implement Windows Maps PR: https://github.com/CommunityToolkit/Maui/pull/604 ``` ```APIDOC PR NuGet Versioning: Pull Request: Update PR NuGet Versioning PR: https://github.com/CommunityToolkit/Maui/pull/910 ``` -------------------------------- ### CommunityToolkit.Maui.Markup Releases Source: https://github.com/communitytoolkit/maui.git/wiki/March-2023-Standup Information on the latest releases for CommunityToolkit.Maui.Markup, including version numbers and links to release tags. ```APIDOC CommunityToolkit.Maui.Markup: v3.1.0: https://github.com/CommunityToolkit/Maui.Markup/releases/tag/3.1.0 ``` -------------------------------- ### PR: Popup Service Source: https://github.com/communitytoolkit/maui.git/wiki/2023-November-Standup This pull request introduces a Popup Service for CommunityToolkit.Maui. Details and discussion can be found in the linked GitHub pull request. ```markdown - (Shaun) Popup Service https://github.com/CommunityToolkit/Maui/pull/1165 ``` -------------------------------- ### CommunityToolkit.Maui - Revert MemoryAnalyzer PR Source: https://github.com/communitytoolkit/maui.git/wiki/2023-September-Standup Details a pull request to revert the MemoryAnalyzer PR for the CommunityToolkit.Maui library. ```markdown - (Brandon) Revert MemoryAnalyzer PR https://github.com/CommunityToolkit/Maui/pull/1391 ``` -------------------------------- ### Proposal: Android-Specific Navigation Bar Effect Source: https://github.com/communitytoolkit/maui.git/wiki/2023-November-Standup A proposal for an Android-specific Navigation Bar Effect within CommunityToolkit.Maui. The GitHub issue linked contains more information. ```markdown - (Brandon) Android-Specific Navigation Bar Effect https://github.com/CommunityToolkit/Maui/issues/103 ``` -------------------------------- ### Type Checking and Casting with 'is' Source: https://github.com/communitytoolkit/maui.git/blob/main/CONTRIBUTING.md Illustrates the recommended way to check an object's type and cast it in a single step using the 'is' operator in C#. ```csharp if (something is Bucket bucket) { bucket.Empty(); } ``` -------------------------------- ### Add Nested (Complex) Bindings to Docs Source: https://github.com/communitytoolkit/maui.git/wiki/2023-December-Standup A pull request to the MicrosoftDocs/CommunityToolkit repository to add documentation for nested and complex bindings in MAUI Markup. This aims to clarify how to use advanced binding scenarios. ```C# https://github.com/MicrosoftDocs/CommunityToolkit/pull/351 ``` -------------------------------- ### Reporting a Bug in .NET MAUI Community Toolkit Source: https://github.com/communitytoolkit/maui.git/blob/main/CONTRIBUTING.md Instructions on how to report a bug effectively for the .NET MAUI Community Toolkit. Emphasizes the importance of following the issue template and providing a reproduction sample. ```markdown If you found something that looks like a bug don't hesitate in opening an issue reporting it. We strongly recommend you to follow our template, if you don't follow your issue can be closed, and that's because we don't have a lot of resources, so we will focus on issues that have most information that we need to work with. And, we would say, the most important part is the reproduction sample that shows the bug. ``` -------------------------------- ### CommunityToolkit.Maui - MediaElement Position Change Source: https://github.com/communitytoolkit/maui.git/wiki/2023-September-Standup Explains a pull request that allows changing the position after the MediaEnded event for MediaElement in CommunityToolkit.Maui. ```markdown - (Brandon) Allow change position after MediaEnded event: https://github.com/CommunityToolkit/Maui/pull/1315 ``` -------------------------------- ### PR: Add GeneratedCode and ExcludeFromCodeCoverage Attributes Source: https://github.com/communitytoolkit/maui.git/wiki/2023-November-Standup A pull request to add `[GeneratedCode]` and `[ExcludeFromCodeCoverage]` attributes to the SourceGenerators in CommunityToolkit.Maui. The PR is available on GitHub. ```markdown - (Brandon) Add `[GeneratedCode]` and `[ExcludeFromCodeCoverage]` attributes to SourceGenerators https://github.com/CommunityToolkit/Maui/pull/1468 ``` -------------------------------- ### PR: DrawingView Events + Commands Source: https://github.com/communitytoolkit/maui.git/wiki/2023-November-Standup A pull request that adds events and commands to the DrawingView component in CommunityToolkit.Maui. The associated GitHub PR provides more information. ```markdown - (Vlad) DrawingView Events + Commands https://github.com/CommunityToolkit/Maui/pull/1440 ``` -------------------------------- ### Proposal: Remove SkiaSharp.Views Dependency Source: https://github.com/communitytoolkit/maui.git/wiki/2023-November-Standup A proposal to remove the SkiaSharp.Views dependency from CommunityToolkit.Maui. Further details and discussion can be found at the provided GitHub issue link. ```markdown - (Brandon) [Approval Vote] Remove SkiaSharp.Views Dependency https://github.com/CommunityToolkit/Maui/issues/1424 ``` -------------------------------- ### Issue: Label TextCenter Definition Source: https://github.com/communitytoolkit/maui.git/wiki/2023-November-Standup An issue reported for CommunityToolkit.Maui.Markup where the Label control does not contain a definition for TextCenter. The GitHub issue provides details on the problem. ```markdown - (Brandon) Label does not contain a definition for TextCenter https://github.com/CommunityToolkit.Maui.Markup/issues/250 ``` -------------------------------- ### File Scoped Namespaces Source: https://github.com/communitytoolkit/maui.git/wiki/Coding-Style-and-Conventions Shows the usage of file-scoped namespaces in C# to reduce code verbosity. ```csharp namespace CommunityToolkit.Maui.Converters; using System; class BoolToObjectConverter { } ``` -------------------------------- ### Rating View plugin for MAUI Source: https://github.com/communitytoolkit/maui.git/wiki/2023-December-Standup A discussion regarding the development of a Rating View plugin for MAUI within the Community Toolkit. This plugin would allow users to easily implement rating functionality in their MAUI applications. ```C# https://github.com/CommunityToolkit/Maui/discussions/1495 ``` -------------------------------- ### File-Scoped Namespaces Source: https://github.com/communitytoolkit/maui.git/blob/main/CONTRIBUTING.md Shows the usage of file-scoped namespaces in C# to reduce code verbosity, as introduced in C# 10.0. ```csharp namespace CommunityToolkit.Maui.Converters; using System; class BoolToObjectConverter { } ``` -------------------------------- ### Typed Bindings not working as expected Source: https://github.com/communitytoolkit/maui.git/wiki/2023-December-Standup An issue reported for CommunityToolkit.Maui.Markup where Typed Bindings are not functioning as anticipated. This documentation entry tracks the problem and potential solutions. ```C# https://github.com/CommunityToolkit/Maui.Markup/issues/272 ```