diff --git a/ProgrammaticConverter/ProgrammaticConverter.sln b/ProgrammaticConverter/ProgrammaticConverter.sln new file mode 100644 index 0000000..0115d28 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter.sln @@ -0,0 +1,27 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31611.283 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProgrammaticConverter", "ProgrammaticConverter\ProgrammaticConverter.csproj", "{1C336B8F-1BF4-4887-A67B-1516E1BC1CD0}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1C336B8F-1BF4-4887-A67B-1516E1BC1CD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1C336B8F-1BF4-4887-A67B-1516E1BC1CD0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1C336B8F-1BF4-4887-A67B-1516E1BC1CD0}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {1C336B8F-1BF4-4887-A67B-1516E1BC1CD0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1C336B8F-1BF4-4887-A67B-1516E1BC1CD0}.Release|Any CPU.Build.0 = Release|Any CPU + {1C336B8F-1BF4-4887-A67B-1516E1BC1CD0}.Release|Any CPU.Deploy.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {61F7FB11-1E47-470C-91E2-47F8143E1572} + EndGlobalSection +EndGlobal diff --git a/ProgrammaticConverter/ProgrammaticConverter/App.xaml b/ProgrammaticConverter/ProgrammaticConverter/App.xaml new file mode 100644 index 0000000..2bddcad --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/App.xaml @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/ProgrammaticConverter/ProgrammaticConverter/App.xaml.cs b/ProgrammaticConverter/ProgrammaticConverter/App.xaml.cs new file mode 100644 index 0000000..984d8b7 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/App.xaml.cs @@ -0,0 +1,11 @@ +namespace ProgrammaticConverter; + +public partial class App : Application +{ + public App() + { + InitializeComponent(); + + MainPage = new MainPage(); + } +} diff --git a/ProgrammaticConverter/ProgrammaticConverter/AppShell.xaml b/ProgrammaticConverter/ProgrammaticConverter/AppShell.xaml new file mode 100644 index 0000000..544928b --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/AppShell.xaml @@ -0,0 +1,14 @@ + + + + + + diff --git a/ProgrammaticConverter/ProgrammaticConverter/AppShell.xaml.cs b/ProgrammaticConverter/ProgrammaticConverter/AppShell.xaml.cs new file mode 100644 index 0000000..a32da11 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/AppShell.xaml.cs @@ -0,0 +1,9 @@ +namespace ProgrammaticConverter; + +public partial class AppShell : Shell +{ + public AppShell() + { + InitializeComponent(); + } +} \ No newline at end of file diff --git a/ProgrammaticConverter/ProgrammaticConverter/Converter/Converter.cs b/ProgrammaticConverter/ProgrammaticConverter/Converter/Converter.cs new file mode 100644 index 0000000..9a2e5e8 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Converter/Converter.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProgrammaticConverter +{ + public class Converter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + if (value == null || string.IsNullOrEmpty(value.ToString())) + { + return DateTime.Now; + } + else + { + DateTime dateTime; + DateTime.TryParse((string)value, out dateTime); + return dateTime; + } + } + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + return value.ToString(); + } + } +} \ No newline at end of file diff --git a/ProgrammaticConverter/ProgrammaticConverter/MainPage.xaml b/ProgrammaticConverter/ProgrammaticConverter/MainPage.xaml new file mode 100644 index 0000000..cfced65 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/MainPage.xaml @@ -0,0 +1,13 @@ + + + + + + + + \ No newline at end of file diff --git a/ProgrammaticConverter/ProgrammaticConverter/MainPage.xaml.cs b/ProgrammaticConverter/ProgrammaticConverter/MainPage.xaml.cs new file mode 100644 index 0000000..35c9997 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/MainPage.xaml.cs @@ -0,0 +1,9 @@ +namespace ProgrammaticConverter; + +public partial class MainPage : ContentPage +{ + public MainPage() + { + InitializeComponent(); + } +} \ No newline at end of file diff --git a/ProgrammaticConverter/ProgrammaticConverter/MauiProgram.cs b/ProgrammaticConverter/ProgrammaticConverter/MauiProgram.cs new file mode 100644 index 0000000..42daa5d --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/MauiProgram.cs @@ -0,0 +1,26 @@ +using Microsoft.Extensions.Logging; +using Syncfusion.Maui.Core.Hosting; + +namespace ProgrammaticConverter; + +public static class MauiProgram +{ + public static MauiApp CreateMauiApp() + { + var builder = MauiApp.CreateBuilder(); + builder + .UseMauiApp() + .ConfigureSyncfusionCore() + .ConfigureFonts(fonts => + { + fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); + fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold"); + }); + +#if DEBUG + builder.Logging.AddDebug(); +#endif + + return builder.Build(); + } +} \ No newline at end of file diff --git a/ProgrammaticConverter/ProgrammaticConverter/Model/DataFormModel.cs b/ProgrammaticConverter/ProgrammaticConverter/Model/DataFormModel.cs new file mode 100644 index 0000000..2aae383 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Model/DataFormModel.cs @@ -0,0 +1,17 @@ +using Syncfusion.Maui.DataForm; +using System.ComponentModel.DataAnnotations; + +namespace ProgrammaticConverter +{ + public class DataFormModel + { + public string FirstName { get; set; } + public string LastName { get; set; } + + [DataFormValueConverter(typeof(Converter))] + [DataType(DataType.Date)] + public string DateTime { get; set; } + public string Email { get; set; } + public string CourseCompleted { get; set; } + } +} \ No newline at end of file diff --git a/ProgrammaticConverter/ProgrammaticConverter/Platforms/Android/AndroidManifest.xml b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Android/AndroidManifest.xml new file mode 100644 index 0000000..e9937ad --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Android/AndroidManifest.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/ProgrammaticConverter/ProgrammaticConverter/Platforms/Android/MainActivity.cs b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Android/MainActivity.cs new file mode 100644 index 0000000..21f1921 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Android/MainActivity.cs @@ -0,0 +1,10 @@ +using Android.App; +using Android.Content.PM; +using Android.OS; + +namespace ProgrammaticConverter; + +[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)] +public class MainActivity : MauiAppCompatActivity +{ +} diff --git a/ProgrammaticConverter/ProgrammaticConverter/Platforms/Android/MainApplication.cs b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Android/MainApplication.cs new file mode 100644 index 0000000..851f803 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Android/MainApplication.cs @@ -0,0 +1,15 @@ +using Android.App; +using Android.Runtime; + +namespace ProgrammaticConverter; + +[Application] +public class MainApplication : MauiApplication +{ + public MainApplication(IntPtr handle, JniHandleOwnership ownership) + : base(handle, ownership) + { + } + + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); +} diff --git a/ProgrammaticConverter/ProgrammaticConverter/Platforms/Android/Resources/values/colors.xml b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Android/Resources/values/colors.xml new file mode 100644 index 0000000..c04d749 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Android/Resources/values/colors.xml @@ -0,0 +1,6 @@ + + + #512BD4 + #2B0B98 + #2B0B98 + \ No newline at end of file diff --git a/ProgrammaticConverter/ProgrammaticConverter/Platforms/MacCatalyst/AppDelegate.cs b/ProgrammaticConverter/ProgrammaticConverter/Platforms/MacCatalyst/AppDelegate.cs new file mode 100644 index 0000000..0d9fc87 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Platforms/MacCatalyst/AppDelegate.cs @@ -0,0 +1,9 @@ +using Foundation; + +namespace ProgrammaticConverter; + +[Register("AppDelegate")] +public class AppDelegate : MauiUIApplicationDelegate +{ + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); +} diff --git a/ProgrammaticConverter/ProgrammaticConverter/Platforms/MacCatalyst/Info.plist b/ProgrammaticConverter/ProgrammaticConverter/Platforms/MacCatalyst/Info.plist new file mode 100644 index 0000000..c96dd0a --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Platforms/MacCatalyst/Info.plist @@ -0,0 +1,30 @@ + + + + + UIDeviceFamily + + 1 + 2 + + UIRequiredDeviceCapabilities + + arm64 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + XSAppIconAssets + Assets.xcassets/appicon.appiconset + + diff --git a/ProgrammaticConverter/ProgrammaticConverter/Platforms/MacCatalyst/Program.cs b/ProgrammaticConverter/ProgrammaticConverter/Platforms/MacCatalyst/Program.cs new file mode 100644 index 0000000..dca6d22 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Platforms/MacCatalyst/Program.cs @@ -0,0 +1,15 @@ +using ObjCRuntime; +using UIKit; + +namespace ProgrammaticConverter; + +public class Program +{ + // This is the main entry point of the application. + static void Main(string[] args) + { + // if you want to use a different Application Delegate class from "AppDelegate" + // you can specify it here. + UIApplication.Main(args, null, typeof(AppDelegate)); + } +} diff --git a/ProgrammaticConverter/ProgrammaticConverter/Platforms/Tizen/Main.cs b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Tizen/Main.cs new file mode 100644 index 0000000..e84eba5 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Tizen/Main.cs @@ -0,0 +1,16 @@ +using System; +using Microsoft.Maui; +using Microsoft.Maui.Hosting; + +namespace ProgrammaticConverter; + +class Program : MauiApplication +{ + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + + static void Main(string[] args) + { + var app = new Program(); + app.Run(args); + } +} diff --git a/ProgrammaticConverter/ProgrammaticConverter/Platforms/Tizen/tizen-manifest.xml b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Tizen/tizen-manifest.xml new file mode 100644 index 0000000..c3a87d8 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Tizen/tizen-manifest.xml @@ -0,0 +1,15 @@ + + + + + + maui-appicon-placeholder + + + + + http://tizen.org/privilege/internet + + + + \ No newline at end of file diff --git a/ProgrammaticConverter/ProgrammaticConverter/Platforms/Windows/App.xaml b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Windows/App.xaml new file mode 100644 index 0000000..574a61f --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Windows/App.xaml @@ -0,0 +1,8 @@ + + + diff --git a/ProgrammaticConverter/ProgrammaticConverter/Platforms/Windows/App.xaml.cs b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Windows/App.xaml.cs new file mode 100644 index 0000000..7a515de --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Windows/App.xaml.cs @@ -0,0 +1,24 @@ +using Microsoft.UI.Xaml; + +// To learn more about WinUI, the WinUI project structure, +// and more about our project templates, see: http://aka.ms/winui-project-info. + +namespace ProgrammaticConverter.WinUI; + +/// +/// Provides application-specific behavior to supplement the default Application class. +/// +public partial class App : MauiWinUIApplication +{ + /// + /// Initializes the singleton application object. This is the first line of authored code + /// executed, and as such is the logical equivalent of main() or WinMain(). + /// + public App() + { + this.InitializeComponent(); + } + + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); +} + diff --git a/ProgrammaticConverter/ProgrammaticConverter/Platforms/Windows/Package.appxmanifest b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Windows/Package.appxmanifest new file mode 100644 index 0000000..e6e8f6e --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Windows/Package.appxmanifest @@ -0,0 +1,46 @@ + + + + + + + + + $placeholder$ + User Name + $placeholder$.png + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ProgrammaticConverter/ProgrammaticConverter/Platforms/Windows/app.manifest b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Windows/app.manifest new file mode 100644 index 0000000..7adfae8 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Platforms/Windows/app.manifest @@ -0,0 +1,15 @@ + + + + + + + + true/PM + PerMonitorV2, PerMonitor + + + diff --git a/ProgrammaticConverter/ProgrammaticConverter/Platforms/iOS/AppDelegate.cs b/ProgrammaticConverter/ProgrammaticConverter/Platforms/iOS/AppDelegate.cs new file mode 100644 index 0000000..0d9fc87 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Platforms/iOS/AppDelegate.cs @@ -0,0 +1,9 @@ +using Foundation; + +namespace ProgrammaticConverter; + +[Register("AppDelegate")] +public class AppDelegate : MauiUIApplicationDelegate +{ + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); +} diff --git a/ProgrammaticConverter/ProgrammaticConverter/Platforms/iOS/Info.plist b/ProgrammaticConverter/ProgrammaticConverter/Platforms/iOS/Info.plist new file mode 100644 index 0000000..0004a4f --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Platforms/iOS/Info.plist @@ -0,0 +1,32 @@ + + + + + LSRequiresIPhoneOS + + UIDeviceFamily + + 1 + 2 + + UIRequiredDeviceCapabilities + + arm64 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + XSAppIconAssets + Assets.xcassets/appicon.appiconset + + diff --git a/ProgrammaticConverter/ProgrammaticConverter/Platforms/iOS/Program.cs b/ProgrammaticConverter/ProgrammaticConverter/Platforms/iOS/Program.cs new file mode 100644 index 0000000..dca6d22 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Platforms/iOS/Program.cs @@ -0,0 +1,15 @@ +using ObjCRuntime; +using UIKit; + +namespace ProgrammaticConverter; + +public class Program +{ + // This is the main entry point of the application. + static void Main(string[] args) + { + // if you want to use a different Application Delegate class from "AppDelegate" + // you can specify it here. + UIApplication.Main(args, null, typeof(AppDelegate)); + } +} diff --git a/ProgrammaticConverter/ProgrammaticConverter/ProgrammaticConverter.csproj b/ProgrammaticConverter/ProgrammaticConverter/ProgrammaticConverter.csproj new file mode 100644 index 0000000..ad2cddb --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/ProgrammaticConverter.csproj @@ -0,0 +1,56 @@ + + + + net7.0-android;net7.0-ios;net7.0-maccatalyst + $(TargetFrameworks);net7.0-windows10.0.19041.0 + + + Exe + ProgrammaticConverter + true + true + enable + + + ProgrammaticConverter + + + com.companyname.programmaticconverter + fa6cbe9e-1ee8-4b69-ae70-7de110b1d8ad + + + 1.0 + 1 + + 11.0 + 13.1 + 21.0 + 10.0.17763.0 + 10.0.17763.0 + 6.5 + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ProgrammaticConverter/ProgrammaticConverter/Properties/launchSettings.json b/ProgrammaticConverter/ProgrammaticConverter/Properties/launchSettings.json new file mode 100644 index 0000000..edf8aad --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "Windows Machine": { + "commandName": "MsixPackage", + "nativeDebugging": false + } + } +} \ No newline at end of file diff --git a/ProgrammaticConverter/ProgrammaticConverter/Resources/AppIcon/appicon.svg b/ProgrammaticConverter/ProgrammaticConverter/Resources/AppIcon/appicon.svg new file mode 100644 index 0000000..9d63b65 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Resources/AppIcon/appicon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/ProgrammaticConverter/ProgrammaticConverter/Resources/AppIcon/appiconfg.svg b/ProgrammaticConverter/ProgrammaticConverter/Resources/AppIcon/appiconfg.svg new file mode 100644 index 0000000..21dfb25 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Resources/AppIcon/appiconfg.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/ProgrammaticConverter/ProgrammaticConverter/Resources/Fonts/OpenSans-Regular.ttf b/ProgrammaticConverter/ProgrammaticConverter/Resources/Fonts/OpenSans-Regular.ttf new file mode 100644 index 0000000..e248a95 Binary files /dev/null and b/ProgrammaticConverter/ProgrammaticConverter/Resources/Fonts/OpenSans-Regular.ttf differ diff --git a/ProgrammaticConverter/ProgrammaticConverter/Resources/Fonts/OpenSans-Semibold.ttf b/ProgrammaticConverter/ProgrammaticConverter/Resources/Fonts/OpenSans-Semibold.ttf new file mode 100644 index 0000000..dbc9572 Binary files /dev/null and b/ProgrammaticConverter/ProgrammaticConverter/Resources/Fonts/OpenSans-Semibold.ttf differ diff --git a/ProgrammaticConverter/ProgrammaticConverter/Resources/Images/dotnet_bot.svg b/ProgrammaticConverter/ProgrammaticConverter/Resources/Images/dotnet_bot.svg new file mode 100644 index 0000000..abfaff2 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Resources/Images/dotnet_bot.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ProgrammaticConverter/ProgrammaticConverter/Resources/Raw/AboutAssets.txt b/ProgrammaticConverter/ProgrammaticConverter/Resources/Raw/AboutAssets.txt new file mode 100644 index 0000000..15d6244 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Resources/Raw/AboutAssets.txt @@ -0,0 +1,15 @@ +Any raw assets you want to be deployed with your application can be placed in +this directory (and child directories). Deployment of the asset to your application +is automatically handled by the following `MauiAsset` Build Action within your `.csproj`. + + + +These files will be deployed with you package and will be accessible using Essentials: + + async Task LoadMauiAsset() + { + using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt"); + using var reader = new StreamReader(stream); + + var contents = reader.ReadToEnd(); + } diff --git a/ProgrammaticConverter/ProgrammaticConverter/Resources/Splash/splash.svg b/ProgrammaticConverter/ProgrammaticConverter/Resources/Splash/splash.svg new file mode 100644 index 0000000..21dfb25 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Resources/Splash/splash.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/ProgrammaticConverter/ProgrammaticConverter/Resources/Styles/Colors.xaml b/ProgrammaticConverter/ProgrammaticConverter/Resources/Styles/Colors.xaml new file mode 100644 index 0000000..245758b --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Resources/Styles/Colors.xaml @@ -0,0 +1,44 @@ + + + + + #512BD4 + #DFD8F7 + #2B0B98 + White + Black + #E1E1E1 + #C8C8C8 + #ACACAC + #919191 + #6E6E6E + #404040 + #212121 + #141414 + + + + + + + + + + + + + + + #F7B548 + #FFD590 + #FFE5B9 + #28C2D1 + #7BDDEF + #C3F2F4 + #3E8EED + #72ACF1 + #A7CBF6 + + \ No newline at end of file diff --git a/ProgrammaticConverter/ProgrammaticConverter/Resources/Styles/Styles.xaml b/ProgrammaticConverter/ProgrammaticConverter/Resources/Styles/Styles.xaml new file mode 100644 index 0000000..dc4a034 --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/Resources/Styles/Styles.xaml @@ -0,0 +1,405 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ProgrammaticConverter/ProgrammaticConverter/ViewModel/DataFormViewModel.cs b/ProgrammaticConverter/ProgrammaticConverter/ViewModel/DataFormViewModel.cs new file mode 100644 index 0000000..a7a0c6c --- /dev/null +++ b/ProgrammaticConverter/ProgrammaticConverter/ViewModel/DataFormViewModel.cs @@ -0,0 +1,11 @@ +namespace ProgrammaticConverter +{ + public class DataFormViewModel + { + public DataFormModel DataFormModel { get; set; } + public DataFormViewModel() + { + this.DataFormModel = new DataFormModel(); + } + } +} \ No newline at end of file diff --git a/README.md b/README.md index 9bb31c3..e0d9d08 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,53 @@ -# How-to-programmatically-implement-Converter-in-the-.NET-MAUI-DataForm-SfDataForm -This repository contains the sample code to How to programmatically implement Converter in the .NET MAUI DataForm (SfDataForm). +# How to programmatically implement Converter in the .NET MAUI DataForm (SfDataForm) + +This repository contains the sample code to programmatically implement Converter in the [SfDataForm](https://help.syncfusion.com/maui/dataform/getting-started). + +## Syncfusion controls + +This project used the following Syncfusion control(s): +* [.NET MAUI DataForm (SfDataForm)](https://www.syncfusion.com/maui-controls/maui-dataform) + +## Supported platforms + +.NET Multi-platform App UI (.NET MAUI) apps can be written for the following platforms: + +* Android 5.0 (API 21) or higher. +* iOS 11 or higher, using the latest release of Xcode. +* macOS 10.15 or higher, using Mac Catalyst. +* Windows 11 and Windows 10 version 1809 or higher, using [Windows UI Library (WinUI) 3](https://learn.microsoft.com/en-us/windows/apps/winui/winui3/). + +## Requirements to run the sample + +* [Visual Studio 2022 Preview](https://learn.microsoft.com/en-us/visualstudio/releases/2022/release-notes-preview) version 17.6.0 or higher (.NET MAUI version 6.0.552) with .NET 7.0 and .NET 8.0 +* [Microsoft Visual Studio 2022](https://learn.microsoft.com/en-us/visualstudio/releases/2022/release-notes) version 17.5.1 with (.NET MAUI version 6.0.552) with .NET 7.0 and .NET 8.0 +* [Visual Studio 2022 for Mac](https://visualstudio.microsoft.com/vs/mac) version 17.5 (.NET MAUI version 6.0.552) with .NET 7.0 and .NET 8.0 + +Refer to the following link for more details: [System Requirements](https://help.syncfusion.com/maui/system-requirements) + +## How to run the sample + +1. Clone the sample and open it in Visual Studio 2022 preview. + + *Note: If you download the sample using the "Download ZIP" option, right-click it, select Properties, and then select Unblock.* + +2. Register your license key in the App.cs file as demonstrated in the following code. + + public App() + { + //Register Syncfusion license + Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR LICENSE KEY"); + + InitializeComponent(); + + MainPage = new MainPage(); + } + + Refer to this [link](https://help.syncfusion.com/maui/licensing/overview) for more details. + +3. Clean and build the application. + +4. Run the application. + +## License + +Syncfusion has no liability for any damage or consequence that may arise from using or viewing the samples. The samples are for demonstrative purposes. If you choose to use or access the samples, you agree to not hold Syncfusion liable, in any form, for any damage related to use, for accessing, or viewing the samples. By accessing, viewing, or seeing the samples, you acknowledge and agree Syncfusion’s samples will not allow you seek injunctive relief in any form for any claim related to the sample. If you do not agree to this, do not view, access, utilize, or otherwise do anything with Syncfusion’s samples. \ No newline at end of file