I-Synergy.Framework.UI.UWP
2026.10308.10239
Prefix Reserved
See the version list below for details.
dotnet add package I-Synergy.Framework.UI.UWP --version 2026.10308.10239
NuGet\Install-Package I-Synergy.Framework.UI.UWP -Version 2026.10308.10239
<PackageReference Include="I-Synergy.Framework.UI.UWP" Version="2026.10308.10239" />
<PackageVersion Include="I-Synergy.Framework.UI.UWP" Version="2026.10308.10239" />
<PackageReference Include="I-Synergy.Framework.UI.UWP" />
paket add I-Synergy.Framework.UI.UWP --version 2026.10308.10239
#r "nuget: I-Synergy.Framework.UI.UWP, 2026.10308.10239"
#:package I-Synergy.Framework.UI.UWP@2026.10308.10239
#addin nuget:?package=I-Synergy.Framework.UI.UWP&version=2026.10308.10239
#tool nuget:?package=I-Synergy.Framework.UI.UWP&version=2026.10308.10239
I-Synergy Framework UI UWP
Universal Windows Platform (UWP) UI framework for building Windows 10 applications. This package provides a complete UWP implementation of the I-Synergy Framework UI services, controls, and patterns for Windows 10 desktop, mobile, Xbox, and IoT.
Breaking Change (v2.0.0+): Minimum Windows version raised to 10.0.19041.0 (Version 2004).
See Platform Requirements and Migration Guide below.
Features
- UWP support for Windows 10 (19041+) devices
- Dialog service with ContentDialog and MessageDialog support
- Navigation service with Frame-based navigation
- Theme service with dynamic accent colors
- File service with UWP file pickers
- Clipboard service for Windows clipboard operations
- Custom controls with UWP-specific implementations
- Behaviors using Microsoft.Xaml.Behaviors.Uwp.Managed
- Microsoft UI Xaml (WinUI 2) control support
- Adaptive UI for different device types and screen sizes
Installation
Install the package via NuGet:
dotnet add package I-Synergy.Framework.UI.UWP
Quick Start
1. Configure Application
using ISynergy.Framework.UI;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Windows.ApplicationModel.Activation;
using Windows.UI.Xaml;
sealed partial class App : Application
{
private IHost _host;
public App()
{
InitializeComponent();
}
protected override async void OnLaunched(LaunchActivatedEventArgs e)
{
_host = Host.CreateDefaultBuilder()
.ConfigureServices((context, services) =>
{
// Core services
services.AddSingleton<ILanguageService, LanguageService>();
services.AddSingleton<IMessengerService, MessengerService>();
services.AddSingleton<IBusyService, BusyService>();
// UWP services
services.AddSingleton<IDialogService, DialogService>();
services.AddSingleton<INavigationService, NavigationService>();
services.AddSingleton<IThemeService, ThemeService>();
services.AddSingleton<IFileService<FileResult>, FileService>();
services.AddSingleton<IClipboardService, ClipboardService>();
// ViewModels
services.AddTransient<MainViewModel>();
services.AddTransient<ShellViewModel>();
})
.Build();
await _host.StartAsync();
// Apply theme
var themeService = _host.Services.GetRequiredService<IThemeService>();
themeService.ApplyTheme();
// Create root frame
var rootFrame = Window.Current.Content as Frame;
if (rootFrame == null)
{
rootFrame = new Frame();
Window.Current.Content = rootFrame;
}
if (e.PrelaunchActivated == false)
{
if (rootFrame.Content == null)
{
rootFrame.Navigate(typeof(MainPage), e.Arguments);
}
Window.Current.Activate();
}
}
}
2. Create XAML Pages with ViewModels
<Page x:Class="MyApp.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
mc:Ignorable="d">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<CommandBar Grid.Row="0">
<AppBarButton Icon="Add" Label="New" Command="{x:Bind ViewModel.NewCommand}"/>
<AppBarButton Icon="Save" Label="Save" Command="{x:Bind ViewModel.SaveCommand}"/>
<AppBarSeparator/>
<AppBarButton Icon="Setting" Label="Settings" Command="{x:Bind ViewModel.SettingsCommand}"/>
</CommandBar>
<Frame Grid.Row="1" x:Name="ContentFrame"/>
<muxc:ProgressBar Grid.Row="2"
IsIndeterminate="{x:Bind ViewModel.BusyService.IsBusy, Mode=OneWay}"/>
</Grid>
</Page>
3. Use Dialog Service
using ISynergy.Framework.Mvvm.ViewModels;
using ISynergy.Framework.Mvvm.Commands;
public class ProductViewModel : ViewModel
{
public AsyncRelayCommand SaveCommand { get; }
public AsyncRelayCommand DeleteCommand { get; }
public ProductViewModel(
ICommonServices commonServices,
IProductService productService,
ILogger<ProductViewModel> logger)
: base(commonServices, logger)
{
SaveCommand = new AsyncRelayCommand(SaveAsync);
DeleteCommand = new AsyncRelayCommand(DeleteAsync);
}
private async Task SaveAsync()
{
try
{
await _productService.SaveAsync(Product);
await CommonServices.DialogService.ShowInformationAsync(
"Product saved successfully",
"Success");
}
catch (Exception ex)
{
await CommonServices.DialogService.ShowErrorAsync(ex, "Error");
}
}
private async Task DeleteAsync()
{
var result = await CommonServices.DialogService.ShowMessageAsync(
"Are you sure you want to delete this product?",
"Confirm Delete",
MessageBoxButtons.YesNo);
if (result == MessageBoxResult.Yes)
{
await _productService.DeleteAsync(Product.Id);
await CommonServices.NavigationService.GoBackAsync();
}
}
}
Best Practices
Use x:Bind for compiled bindings to improve performance in UWP.
UWP apps require appropriate capabilities in Package.appxmanifest for file access, camera, etc.
UWP is in maintenance mode. Consider WinUI 3 or MAUI for new projects.
Adaptive UI
- Use AdaptiveTriggers for different screen sizes
- Implement responsive layouts with VisualStateManager
- Support desktop, mobile, and Xbox form factors
- Test on different device types
Performance
- Use x:Bind for compiled bindings
- Implement UI virtualization
- Use incremental loading for large datasets
- Optimize for memory constraints on mobile devices
Dependencies
- I-Synergy.Framework.UI - Base UI abstractions
- Microsoft.Windows.SDK.BuildTools - Windows SDK tools
- Microsoft.Extensions.Configuration.Json - Configuration
- Microsoft.Extensions.Hosting - Application hosting
- Microsoft.Xaml.Behaviors.Uwp.Managed - UWP behaviors
- Microsoft.UI.Xaml - WinUI 2 controls
Platform Requirements
- Target Framework: net10.0-windows10.0.26100.0
- Minimum Version: Windows 10.0.19041.0 (Version 2004)
- Previous minimum: Windows 10.0.17763.0 (Version 1809)
- Changed in: v2.0.0+ (
ISynergy.Framework.UI.UWP.csprojline 4)
- Architecture: x86, x64, ARM64
Migration Guide
If your application targets Windows 10 Version 1809 (10.0.17763.0), you have the following options:
Update Target OS: Update your
Package.appxmanifestTargetDeviceFamilyto minimum version10.0.19041.0<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.19041.0" MaxVersionTested="10.0.26100.0" />Use Previous Version: Continue using v1.x of this package if you need to support Windows 10 Version 1809
Justification for Change: The minimum version was raised to leverage modern Windows SDK APIs and tooling features that improve compatibility with .NET 10 and provide access to enhanced UWP platform capabilities
Documentation
Related Packages
- I-Synergy.Framework.UI - Base UI abstractions
- I-Synergy.Framework.Core - Core framework
- I-Synergy.Framework.Mvvm - MVVM framework
- I-Synergy.Framework.UI.WinUI - WinUI 3 implementation (recommended for new projects)
- I-Synergy.Framework.UI.Maui - MAUI implementation
Support
For issues, questions, or contributions, please visit the GitHub repository.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0-windows10.0.26100 is compatible. |
-
net10.0-windows10.0.26100
- I-Synergy.Framework.UI (>= 2026.10308.10239)
- Microsoft.Extensions.Configuration.Json (>= 10.0.3)
- Microsoft.Extensions.Hosting (>= 10.0.3)
- Microsoft.UI.Xaml (>= 2.8.7)
- Microsoft.Windows.SDK.BuildTools (>= 10.0.26100.7705)
- Microsoft.Xaml.Behaviors.Uwp.Managed (>= 3.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.10313.10041-preview | 140 | 3/13/2026 |
| 2026.10312.11709-preview | 132 | 3/12/2026 |
| 2026.10310.10042-preview | 109 | 3/10/2026 |
| 2026.10309.12136-preview | 108 | 3/9/2026 |
| 2026.10309.12046-preview | 103 | 3/9/2026 |
| 2026.10308.10239 | 123 | 3/8/2026 |
| 2026.10308.10116-preview | 105 | 3/8/2026 |
| 2026.10307.12333-preview | 99 | 3/7/2026 |
| 2026.10226.11633 | 126 | 2/26/2026 |
| 2026.10226.11549-preview | 116 | 2/26/2026 |
| 2026.10217.10039 | 138 | 2/17/2026 |
| 2026.10216.12357-preview | 109 | 2/16/2026 |
| 2026.10214.10109 | 126 | 2/16/2026 |
| 2026.10214.10009-preview | 119 | 2/13/2026 |
| 2026.10211.12302 | 133 | 2/11/2026 |
| 2026.10211.12225-preview | 115 | 2/11/2026 |
| 2026.10201.12332 | 140 | 2/1/2026 |
| 2026.10201.12300-preview | 128 | 2/1/2026 |
| 2026.10116.10015-preview | 121 | 1/15/2026 |
| 2026.10110.10203 | 144 | 1/10/2026 |