{"version":1,"pages":[{"id":"Rgv0qfZ6rLJ7DfJ9dg32","title":"Welcome","pathname":"/","siteSpaceId":"sitesp_ZWqC5","description":""},{"id":"wgPFZY8eqN628AUlNhKv","title":"Wisej.NET Tutorial","pathname":"/wisej.net-tutorial","siteSpaceId":"sitesp_ZWqC5"},{"id":"BGDab8GG5ugckacJGR7t","title":"Install Wisej.NET","pathname":"/wisej.net-tutorial/install-wisej.net","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Wisej.NET Tutorial"}]},{"id":"4UkdmN2RziW0zYIjIee2","title":"Download Visual Studio","pathname":"/wisej.net-tutorial/install-wisej.net/download-visual-studio","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Wisej.NET Tutorial"},{"label":"Install Wisej.NET"}]},{"id":"t0zJd2f8tSkw0Dgx3CpD","title":"Download Wisej.NET VSIX","pathname":"/wisej.net-tutorial/install-wisej.net/download-wisej.net-vsix","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Wisej.NET Tutorial"},{"label":"Install Wisej.NET"}]},{"id":"tJY300Snnu1elX0FmkAX","title":"Get License Key","pathname":"/wisej.net-tutorial/install-wisej.net/get-license-key","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Wisej.NET Tutorial"},{"label":"Install Wisej.NET"}]},{"id":"J6yjq1opTs5n6mBvFsoQ","title":"Enter License Key Into Visual Studio","pathname":"/wisej.net-tutorial/install-wisej.net/enter-license-key-into-visual-studio","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Wisej.NET Tutorial"},{"label":"Install Wisej.NET"}]},{"id":"185U8Pmrq6t20QvO5khB","title":"First Steps with Wisej.NET","pathname":"/wisej.net-tutorial/first-steps-with-wisej.net","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Wisej.NET Tutorial"}]},{"id":"Ugy98Meiepfqhv77ZOi7","title":"Create a New Project","pathname":"/wisej.net-tutorial/first-steps-with-wisej.net/create-a-new-project","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Wisej.NET Tutorial"},{"label":"First Steps with Wisej.NET"}]},{"id":"dGp3G86lXGPSEarF4SqM","title":"Open the Designer","pathname":"/wisej.net-tutorial/first-steps-with-wisej.net/open-the-designer","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Wisej.NET Tutorial"},{"label":"First Steps with Wisej.NET"}]},{"id":"mdEJTXfZuzTC9hyL1iI4","title":"Add a Button From the Toolbox","pathname":"/wisej.net-tutorial/first-steps-with-wisej.net/add-a-button-from-the-toolbox","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Wisej.NET Tutorial"},{"label":"First Steps with Wisej.NET"}]},{"id":"ScMxV9OsBPAI7ZIqxlnL","title":"Add an Event","pathname":"/wisej.net-tutorial/first-steps-with-wisej.net/add-an-event","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Wisej.NET Tutorial"},{"label":"First Steps with Wisej.NET"}]},{"id":"APFO0D8ULh9TLaVq2f6k","title":"Next Steps with Wisej.NET","pathname":"/wisej.net-tutorial/next-steps-with-wisej.net","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Wisej.NET Tutorial"}]},{"id":"hE3EQy0apTnD4HYJoNgL","title":"Add a DataGridView","pathname":"/wisej.net-tutorial/next-steps-with-wisej.net/add-a-datagridview","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Wisej.NET Tutorial"},{"label":"Next Steps with Wisej.NET"}]},{"id":"2hrvHu7B7bbPpqyBWnz9","title":"Working with the Demo Browser","pathname":"/wisej.net-tutorial/next-steps-with-wisej.net/working-with-the-demo-browser","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Wisej.NET Tutorial"},{"label":"Next Steps with Wisej.NET"}]},{"id":"KhfQdY0IZQ5Xb6VXb8MP","title":"Add an Extension","pathname":"/wisej.net-tutorial/next-steps-with-wisej.net/add-an-extension","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Wisej.NET Tutorial"},{"label":"Next Steps with Wisej.NET"}]},{"id":"a1gRdc9pZ3VEJilgRd8z","title":"Add a UserControl","pathname":"/wisej.net-tutorial/next-steps-with-wisej.net/add-a-usercontrol","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Wisej.NET Tutorial"},{"label":"Next Steps with Wisej.NET"}]},{"id":"QF3t6BTDrd5vbjCdtfg6","title":"Discovering Wisej.NET","pathname":"/discovering-wisej.net","siteSpaceId":"sitesp_ZWqC5","description":""},{"id":"KEMh5elVHj7q6uvqy4qR","title":"Introduction to Wisej.NET","pathname":"/discovering-wisej.net/introduction-to-wisej.net","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Discovering Wisej.NET"}]},{"id":"uzsVbUJRXMM5tBe7I3eZ","title":"Create an application with Wisej.NET","pathname":"/discovering-wisej.net/create-an-application-with-wisej.net","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Discovering Wisej.NET"}]},{"id":"21oRnckchnlooVmQIItf","title":"Drawing surfaces, objects, and widgets","pathname":"/discovering-wisej.net/drawing-surfaces-objects-and-widgets","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Discovering Wisej.NET"}]},{"id":"qPBbIJFzSrS4MQWM6axg","title":"\"Wisej Pubs Demo App\", an application for beginners","pathname":"/discovering-wisej.net/wisej-pubs-demo-app-an-application-for-beginners","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Discovering Wisej.NET"}]},{"id":"0rpZh0LdYVjmIp17Zmyv","title":"Wisej.NET for Business Applications","pathname":"/wisej.net-for-business-applications","siteSpaceId":"sitesp_ZWqC5","description":"Developing Line-of-Business Application for the Enterprise with Wisej.NET"},{"id":"lLwSqa6XlXw7ac9EcaTJ","title":"The Easy Button for Enterprise Software","pathname":"/wisej.net-for-business-applications/the-easy-button-for-enterprise-software","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Wisej.NET for Business Applications"}]},{"id":"pvWfxiakuzTjY1byiMs8","title":"Dino Esposito: \"There is no silver bullet\"","pathname":"/wisej.net-for-business-applications/dino-esposito-there-is-no-silver-bullet","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Wisej.NET for Business Applications"}]},{"id":"WXvB6luFIS2DZwDIySGY","title":"Building a Simple app with Wisej.NET Hybrid","pathname":"/wisej.net-for-business-applications/building-a-simple-app-with-wisej.net-hybrid","siteSpaceId":"sitesp_ZWqC5","description":"This article shows how a simple offline ERP application can be built with Wisej.NET Hybrid.","breadcrumbs":[{"label":"Wisej.NET for Business Applications"}]},{"id":"fK3slEOq04aZoavBHFqr","title":"Implementing Themes with Wisej.NET","pathname":"/wisej.net-for-business-applications/implementing-themes-with-wisej.net","siteSpaceId":"sitesp_ZWqC5","description":"Styling your WiseJ.net app with Theme Builder","breadcrumbs":[{"label":"Wisej.NET for Business Applications"}]},{"id":"rpYxn2ytgayD5QdvQquT","title":"Wisej.NET Application Architectures","pathname":"/wisej.net-application-architectures","siteSpaceId":"sitesp_ZWqC5"},{"id":"LImwt0rNiXbSS9c0fNPB","title":"Wisej.NET vs. MVC","pathname":"/wisej.net-application-architectures/wisej.net-vs.-mvc","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Wisej.NET Application Architectures"}]},{"id":"RIRzSnvm2i83qw5nQnER","title":"Wisej.NET vs Blazor","pathname":"/wisej.net-application-architectures/wisej.net-vs-blazor","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Wisej.NET Application Architectures"}]},{"id":"cJBR9hEwcPx0iA50Bnqd","title":"Architecting 21st Century Web Apps using Wisej.NET","pathname":"/wisej.net-application-architectures/architecting-21st-century-web-apps-using-wisej.net","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Wisej.NET Application Architectures"}]},{"id":"25MaWynrBfyTiull467X","title":"Model-View-Controller Approach (MVC) with Wisej.NET","pathname":"/wisej.net-application-architectures/architecting-21st-century-web-apps-using-wisej.net/model-view-controller-approach-mvc-with-wisej.net","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Wisej.NET Application Architectures"},{"label":"Architecting 21st Century Web Apps using Wisej.NET"}]},{"id":"YOUgsFhtXkNAJLbhaUQj","title":"Model-View-ViewModel (MVVM) Approach with Wisej.NET","pathname":"/wisej.net-application-architectures/architecting-21st-century-web-apps-using-wisej.net/model-view-viewmodel-mvvm-approach-with-wisej.net","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Wisej.NET Application Architectures"},{"label":"Architecting 21st Century Web Apps using Wisej.NET"}]},{"id":"WR68VJ9xUpBu60nwFQjq","title":"MVC vs MVVM: Similarities and Differences","pathname":"/wisej.net-application-architectures/architecting-21st-century-web-apps-using-wisej.net/mvc-vs-mvvm-similarities-and-differences","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Wisej.NET Application Architectures"},{"label":"Architecting 21st Century Web Apps using Wisej.NET"}]},{"id":"OrYNoTuLvUImUn7cYu8W","title":"Going Native with Wisej.NET Hybrid","pathname":"/wisej.net-application-architectures/going-native-with-wisej.net-hybrid","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Wisej.NET Application Architectures"}]},{"id":"aGnKclEXoHVrbO0DL1VE","title":"Data Access with Wisej.NET","pathname":"/data-access-with-wisej.net","siteSpaceId":"sitesp_ZWqC5"},{"id":"FaAQsKLqWBgBEQXqO4lh","title":"Using Wisej.NET to Access Blob Storage with Microsoft Azure","pathname":"/data-access-with-wisej.net/using-wisej.net-to-access-blob-storage-with-microsoft-azure","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Data Access with Wisej.NET"}]},{"id":"TSgMadIIvw9wzimJXSCB","title":"Capture user input with two-way binding","pathname":"/data-access-with-wisej.net/capture-user-input-with-two-way-binding","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Data Access with Wisej.NET"}]},{"id":"W7zKHT9TkDbNYKL1DSPD","title":"Let's make your data visible using Wisej.NET and the DataGridView","pathname":"/data-access-with-wisej.net/lets-make-your-data-visible-using-wisej.net-and-the-datagridview","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Data Access with Wisej.NET"}]},{"id":"GSiMiI0SZ7iPJzq7NrBP","title":"Integrating with Wisej.NET","pathname":"/integrating-with-wisej.net","siteSpaceId":"sitesp_ZWqC5"},{"id":"EAUzdEPG0GPPSimEm3pX","title":"How to get started with Telerik's Data Grid","pathname":"/integrating-with-wisej.net/how-to-get-started-with-teleriks-data-grid","siteSpaceId":"sitesp_ZWqC5","description":"Learn how Telerik's Kendo UI DataGrid can make working with data in your WiseJ.NET web applications much easier.","breadcrumbs":[{"label":"Integrating with Wisej.NET"}]},{"id":"OrPNri6cQdUH3X23no0m","title":"How to use Telerik to speed up your Wisej.NET development","pathname":"/integrating-with-wisej.net/how-to-use-telerik-to-speed-up-your-wisej.net-development","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Integrating with Wisej.NET"}]},{"id":"Gm7NvROQ2O9EjtfkSHbN","title":"SCADA Systems on the Web with Wisej.NET","pathname":"/integrating-with-wisej.net/scada-systems-on-the-web-with-wisej.net","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Integrating with Wisej.NET"}]},{"id":"5ARfUjm8yoyP8fFAMHHO","title":"Legacy Migration with Wisej.NET","pathname":"/legacy-migration-with-wisej.net","siteSpaceId":"sitesp_ZWqC5"},{"id":"0RgM5Y8Vl7MlM6epuKnL","title":"Migrate Windows Desktop Applications to the Web with Wisej.NET","pathname":"/legacy-migration-with-wisej.net/migrate-windows-desktop-applications-to-the-web-with-wisej.net","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Legacy Migration with Wisej.NET"}]},{"id":"OZbSLkJGxlPO3AAlyrBW","title":"The Future of Line-of-Business Applications","pathname":"/legacy-migration-with-wisej.net/the-future-of-line-of-business-applications","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Legacy Migration with Wisej.NET"}]},{"id":"SDdhuyR3Rhd4hLt16dXC","title":"Life Beyond WinForms","pathname":"/legacy-migration-with-wisej.net/life-beyond-winforms","siteSpaceId":"sitesp_ZWqC5","description":"Upgrade Windows Forms apps to cross-platform web and mobile applications.","breadcrumbs":[{"label":"Legacy Migration with Wisej.NET"}]},{"id":"zeImJ8kOr8vpcAKNydKS","title":"Hands on: Modernize WinForms & WPF solutions with Wisej.NET","pathname":"/legacy-migration-with-wisej.net/hands-on-modernize-winforms-and-wpf-solutions-with-wisej.net","siteSpaceId":"sitesp_ZWqC5","description":"Instead of rewriting: Migrate Windows Applications from the Desktop to the Browser","breadcrumbs":[{"label":"Legacy Migration with Wisej.NET"}]},{"id":"sgqBWNqLv8zhSIMRN8mk","title":"Hands on: Migrate WPF solutions into native Web-based Single-Page-Applications","pathname":"/legacy-migration-with-wisej.net/hands-on-migrate-wpf-solutions-into-native-web-based-single-page-applications","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Legacy Migration with Wisej.NET"}]},{"id":"J1Bbea0VXuyGZBq1KhMM","title":"Initial situation: Desktop application with Windows Presentation Foundation","pathname":"/legacy-migration-with-wisej.net/hands-on-migrate-wpf-solutions-into-native-web-based-single-page-applications/initial-situation-desktop-application-with-windows-presentation-foundation","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Legacy Migration with Wisej.NET"},{"label":"Hands on: Migrate WPF solutions into native Web-based Single-Page-Applications"}]},{"id":"VViyB40qm7pQKt0K8RCh","title":"Model-View-ViewModel (MVVM) pattern as an architectural pattern","pathname":"/legacy-migration-with-wisej.net/hands-on-migrate-wpf-solutions-into-native-web-based-single-page-applications/model-view-viewmodel-mvvm-pattern-as-an-architectural-pattern","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Legacy Migration with Wisej.NET"},{"label":"Hands on: Migrate WPF solutions into native Web-based Single-Page-Applications"}]},{"id":"kgjx9CH0zFxi9EI19uOY","title":"Wisej.NET Web Apps","pathname":"/legacy-migration-with-wisej.net/hands-on-migrate-wpf-solutions-into-native-web-based-single-page-applications/wisej.net-web-apps","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Legacy Migration with Wisej.NET"},{"label":"Hands on: Migrate WPF solutions into native Web-based Single-Page-Applications"}]},{"id":"9GIKLSeTYgfJVabHsgSc","title":"WPF Migration","pathname":"/legacy-migration-with-wisej.net/hands-on-migrate-wpf-solutions-into-native-web-based-single-page-applications/wpf-migration","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Legacy Migration with Wisej.NET"},{"label":"Hands on: Migrate WPF solutions into native Web-based Single-Page-Applications"}]},{"id":"eL7Fks85l7ThsdhlqIJK","title":"Conclusion","pathname":"/legacy-migration-with-wisej.net/hands-on-migrate-wpf-solutions-into-native-web-based-single-page-applications/conclusion","siteSpaceId":"sitesp_ZWqC5","breadcrumbs":[{"label":"Legacy Migration with Wisej.NET"},{"label":"Hands on: Migrate WPF solutions into native Web-based Single-Page-Applications"}]},{"id":"YjPLNp7zjWUPMYo7mxg4","title":"iX Magazine: From Desktop to Web app with Wisej.NET","pathname":"/legacy-migration-with-wisej.net/ix-magazine-from-desktop-to-web-app-with-wisej.net","siteSpaceId":"sitesp_ZWqC5","description":"Translated article first published in the German iX Magazine June 2025","breadcrumbs":[{"label":"Legacy Migration with Wisej.NET"}]},{"id":"KIwb7fFa9Ekg9hnQsUeW","title":"Authors","pathname":"/authors","siteSpaceId":"sitesp_ZWqC5","description":""},{"id":"vr1cWrjkzRLqQiCh07hd","title":"Dino Esposito","pathname":"/authors/dino-esposito","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Authors"}]},{"id":"E3LLn7frZEB8HcFdgCew","title":"Gabriele del Giovine","pathname":"/authors/gabriele-del-giovine","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Authors"}]},{"id":"FwVeW93ZdMWPwyRDcspI","title":"Jon Hilton","pathname":"/authors/jon-hilton","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Authors"}]},{"id":"ZNGRypUqUOHYenblRA8j","title":"Julie Hirt","pathname":"/authors/julie-hirt","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Authors"}]},{"id":"hujIoTWRzRTpp339SWFV","title":"Dr. Veikko Krypczyk","pathname":"/authors/dr.-veikko-krypczyk","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Authors"}]},{"id":"zFNQ130hGj3aJso5ize4","title":"Jeremy Likness","pathname":"/authors/jeremy-likness","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Authors"}]},{"id":"YdfWNWfoqDXWSQn2iHD7","title":"Iulia Pitutiu","pathname":"/authors/iulia-pitutiu","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Authors"}]},{"id":"FqF8nUZTYRY6gV0Jdryn","title":"Levie Rufenacht","pathname":"/authors/levie-rufenacht","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Authors"}]},{"id":"r9YoxJlkDsWa1DjvF9AO","title":"Thomas Althammer","pathname":"/authors/thomas-althammer","siteSpaceId":"sitesp_ZWqC5","description":"","breadcrumbs":[{"label":"Authors"}]}]}