### Install UraniumUI.WebComponents package Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/web-components/CodeView.md Install the UraniumUI.WebComponents package to use the CodeView component. ```bash dotnet add package UraniumUI.WebComponents ``` -------------------------------- ### Install templates and create a UraniumUI app Source: https://github.com/enisn/uraniumui/blob/develop/README.md Installs the UraniumUI project templates and creates a ready-to-run app named MyMauiApp. ```bash dotnet new install UraniumUI.Templates dotnet new uraniumui-app -n MyMauiApp ``` -------------------------------- ### Install UraniumUI.Blurs package Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/Blurs.md Install the UraniumUI.Blurs NuGet package, which is required before using the blur effect. ```bash dotnet add package UraniumUI.Blurs ``` -------------------------------- ### Install UraniumUI templates from NuGet Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/Getting-Started.md Installs the latest UraniumUI project templates from NuGet using the dotnet CLI. ```bash dotnet new install UraniumUI.Templates ``` -------------------------------- ### Install UraniumUI.Dialogs.CommunityToolkit package Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/dialogs/Index.md Adds the UraniumUI.Dialogs.CommunityToolkit NuGet package to the project. ```bash dotnet add package UraniumUI.Dialogs.CommunityToolkit ``` -------------------------------- ### Install UraniumUI.Validations.DataAnnotations package Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/validations/DataAnnotations.md Install the UraniumUI.Validations.DataAnnotations NuGet package to enable DataAnnotations validation support. ```bash dotnet add package UraniumUI.Validations.DataAnnotations ``` -------------------------------- ### Install UraniumUI.Dialogs.Mopups package Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/dialogs/Index.md Adds the UraniumUI.Dialogs.Mopups NuGet package to the project. ```bash dotnet add package UraniumUI.Dialogs.Mopups ``` -------------------------------- ### Template parameters examples Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/Getting-Started.md Shows how to pass parameters to the template to customize the icon library, dialog integration, and blur support. ```bash dotnet new uraniumui-app -n MyProject --Icons FluentIcons ``` ```bash dotnet new uraniumui-app -n MyProject --Dialogs CommunityToolkit ``` ```bash dotnet new uraniumui-app -n MyProject --Blurs true ``` -------------------------------- ### Opt in to the Turkish accessibility language pack Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/best-practices/LocalizedSemanticText.md Opts an app into the Turkish language pack by chaining UseUraniumUITurkishAccessibility after the standard Uranium UI and Material initializers. This is the one-line setup required after installing the package. ```csharp builder .UseUraniumUI() .UseUraniumUIMaterial() .UseUraniumUITurkishAccessibility(); ``` -------------------------------- ### Example view model for AutoFormView Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/infrastructure/AutoFormView.md Example view model with reactive properties that AutoFormView will generate editors for. ```csharp public class AutoFormViewPageViewModel : ViewModelBase { [Reactive] public string Email { get; set; } [Reactive] public string FullName { get; set; } [Reactive] public Gender Gender { get; set; } [Reactive] public DateTime? BirthDate { get; set; } [Reactive] public TimeSpan? MeetingTime { get; set; } [Reactive] public int? NumberOfSeats { get; set; } [Reactive] public bool IsTermsAndConditionsAccepted { get; set; } } ``` -------------------------------- ### Paginator ViewModel example Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/themes/material/components/Paginator.md Complete ViewModel example for the Paginator. Implements CurrentPage and TotalPages properties with change notification and a SetPageCommand that updates the current page and loads data. ```csharp public class MyViewModel : BindableObject { private int currentPage = 1; private int totalPages = 10; public int CurrentPage { get => currentPage; set { if (currentPage != value) { currentPage = value; OnPropertyChanged(); } } } public int TotalPages { get => totalPages; set { if (totalPages != value) { totalPages = value; OnPropertyChanged(); } } } public ICommand SetPageCommand => new Command(page => { CurrentPage = page; // Load data for the new page }); } ``` -------------------------------- ### CI build and test commands Source: https://github.com/enisn/uraniumui/blob/develop/AGENTS.md Full CI shape from repo root: install MAUI workload, build, then test. ```bash dotnet workload install maui ``` ```bash dotnet build ``` ```bash dotnet test ``` -------------------------------- ### Implement TextField in XAML Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/themes/material/components/TextField.md Basic usage examples for TextField, including standard inputs and a numeric keyboard configuration. ```xml ``` -------------------------------- ### XAML Usage Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/infrastructure/Dropdown.md Example of using the Dropdown control in XAML with ItemsSource, SelectedItem, and Placeholder properties. ```APIDOC ## XAML Usage ### Description Example of using the Dropdown control in XAML with ItemsSource, SelectedItem, and Placeholder properties. ### Namespace `UraniumUI.Controls` ### XAML Namespace Declaration ```xml xmlns:uranium="http://schemas.enisn-projects.io/dotnet/maui/uraniumui" ``` ### Example ```xml ``` ### Properties - **ItemsSource** (IEnumerable) - The collection of items to display in the dropdown. - **SelectedItem** (object) - The selected item in the dropdown. - **Placeholder** (string) - The text to display when no item is selected. - **PlaceholderColor** (Color) - The color of the placeholder text. - **TextColor** (Color) - The color of the text in the dropdown. - **HorizontalTextAlignment** (TextAlignment) - The horizontal alignment of the text in the dropdown. ``` -------------------------------- ### Create a UraniumContentPage with dotnet CLI Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/infrastructure/UraniumContentPage.md Install the UraniumUI.Templates NuGet package, then create a new UraniumContentPage with the specified name and namespace. The -na parameter sets the namespace; if omitted, the default is MauiApp1. Visual Studio automatically provides the namespace. ```bash dotnet new install UraniumUI.Templates ``` ```bash dotnet new uraniumcontentpage -n MyPage -na MyNamespace ``` -------------------------------- ### Chip example with multiple chips Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/themes/material/Chip.md Shows a horizontal stack of two chips, one with default remove button and one with the remove button hidden. ```xml ``` -------------------------------- ### Range selection with RangeStartDate and RangeEndDate bindings Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/infrastructure/CalendarView.md Enable range selection by setting SelectionMode to Range and binding RangeStartDate and RangeEndDate. The first selectable tap sets RangeStartDate and clears RangeEndDate; the second completes the range. If the second tap is before the first, the range is normalized into date order. Tapping the same date twice creates a one-day range. After a complete range, the next selectable tap starts a new range. ```xml ``` -------------------------------- ### BlurEffect Properties Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/Blurs.md Lists the configurable properties of the BlurEffect with their types, defaults, and usage examples. ```APIDOC ## BlurEffect Properties ### Description Defines the configurable properties of the BlurEffect for .NET MAUI, including blur mode, accent color, opacity, and Android-specific strategies. ### Properties #### Mode - **Type**: `BlurMode` - **Default**: Follows current application theme - **Description**: Defines the blur mode. It can be `Light` or `Dark`. #### AccentColor - **Type**: `Color` - **Description**: Defines the tint color of the blur effect. #### AccentOpacity - **Type**: `float` - **Default**: `0.2` - **Description**: Defines the opacity of the tint color. #### AndroidStrategy - **Type**: `AndroidBlurStrategy` - **Default**: `Default` - **Description**: Defines which Android blur strategy is used. Possible values: `Default`, `RenderEffect`, `Material`, `RealtimeCapture`, `StaticCapture`. #### AndroidRealtimeCaptureFps - **Type**: `int` - **Default**: `15` - **Description**: Defines the maximum capture update rate for `RealtimeCapture`. Values are clamped between `1` and `60`. #### AndroidCaptureDownsampleFactor - **Type**: `float` - **Default**: `8` - **Description**: Defines how much the Android capture bitmap is downsampled before blur. Larger values improve performance but reduce blur quality. Values are clamped between `1` and `32`. ### Usage Examples #### Mode Example ```xml ``` #### AccentColor Example ```xml ``` #### AccentOpacity Example ```xml ``` #### AndroidStrategy Example ```xml ``` ``` -------------------------------- ### Range Selection Mode Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/infrastructure/CalendarView.md Allows users to select a continuous range. Bind RangeStartDate and RangeEndDate. The first selectable tap sets RangeStartDate and clears RangeEndDate. The second selectable tap completes the range. If the second tap is before the first, the start and end are normalized into date order. Tapping the same date twice creates a one-day range. After a complete range is selected, the next selectable tap starts a new range. ```APIDOC ## Range Selection Mode ### Description Allows users to select a continuous range. Bind RangeStartDate and RangeEndDate. The first selectable tap sets RangeStartDate and clears RangeEndDate. The second selectable tap completes the range. If the second tap is before the first, the start and end are normalized into date order. Tapping the same date twice creates a one-day range. After a complete range is selected, the next selectable tap starts a new range. ### Usage Example ```xml ``` ### Properties - **SelectionMode** (enum) - Set to "Range" to enable range selection. - **RangeStartDate** (DateTime?) - The start date of the selected range. - **RangeEndDate** (DateTime?) - The end date of the selected range. ``` -------------------------------- ### DisplayTextPromptAsync Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/dialogs/Index.md Displays a text prompt dialog to get a text input from the user. Returns the entered text. ```APIDOC ## DisplayTextPromptAsync ### Description Displays a text prompt dialog to get a text input from the user. Returns the entered text. All parameters are same with MAUI default `DisplayPromptAsync` method. ### Method DisplayTextPromptAsync ### Parameters - **message** (string) - Required - Message of the dialog. - **title** (string) - Required - Title of the dialog. - **placeholder** (string) - Optional - Placeholder text for the input. ### Request Example ```csharp var result = await this.DisplayTextPromptAsync("Your Name", "What is your name?", placeholder: "Uvuvwevwevwe...Osas"); await DisplayAlert("Result:", result, "OK"); ``` ### Response Returns the entered text as a string. ``` -------------------------------- ### Selection colors example Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/themes/material/components/MultiplePickerField.md Customize chip background, text, and destroy icon colors directly on MultiplePickerField. ```xml ``` -------------------------------- ### SelectableLabel usage example Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/infrastructure/SelectableLabel.md Shows how to define a SelectableLabel with text and line break mode. The control is in the UraniumUI.Controls namespace and supports Label's text-related properties. ```xml ``` -------------------------------- ### TreeView with selection binding and command Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/whats-new/What-Is-New-In-3.0.md Configure a material:TreeView with ItemsSource, SelectedItem, and SelectedItemChangedCommand for selection handling. This example shows the new virtualized TreeView in XAML. ```xml ``` -------------------------------- ### Configure ColorResource and StyleResource in App.xaml Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/theming/ColorSystem.md Use this XML in your App.xaml to merge default theme resources. Include both ColorResource and StyleResource to get all theme resources, as they are separated for theme development needs. ```xml ``` -------------------------------- ### Icon property example Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/themes/material/components/MultiplePickerField.md Set an icon on the left side using the Icon property. FontImageSource is recommended because its color can change when focused. ```xml ``` -------------------------------- ### Create a blank UraniumUI app Source: https://github.com/enisn/uraniumui/blob/develop/README.md Creates a lighter starter project with the blank app template. ```bash dotnet new uraniumui-blank-app -n MyMauiApp ``` -------------------------------- ### Create a new UraniumUI project Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/Getting-Started.md Creates a new UraniumUI project with the default template or the blank starter template. ```bash dotnet new uraniumui-app -n MyProject ``` ```bash dotnet new uraniumui-blank-app -n MyProject ``` -------------------------------- ### Use nested cascading styles in a page Source: https://github.com/enisn/uraniumui/blob/develop/docs/en/theming/CascadingStyling.md Shows a Label outside the container and a StackLayout with StyleClass 'MyContainer' containing a Frame with a Label. The Frame gets Yellow background and the Label gets Black text due to the nested cascading styles. ```xml