
Explore Visual Studio 2022, the latest IDE, and learn to create console, WPF, and web apps using C#, VB, and dotnet, set startup objects, and manage projects with Solution Explorer.
Learn to create a button click event that shows a message box when clicked, and explore WPF layouts like stack panel, wrap panel, dock panel, canvas, grid, and orientation options.
Explore dock panel layouts with the last child fill property, then master canvas absolute placement and grid layouts with column and row definitions, including star, auto, and explicit widths.
Create nested layouts by using a stack panel as the base and embedding a grid and a dock panel to build a responsive user interface.
Define reusable styles in WPF using window dot resources and a button style with setters to standardize height, width, background color, and font size across controls.
Learn how to use basic WPF controls by adding a grid layout, a checkbox, and a text box, and wire up code-behind event handlers for checked, unchecked, and indeterminate states.
Learn to implement a WPF combo box with Volvo, BMW, and Toyota, handle selection changes, and display the selection; add a date picker to show the date in its title.
Explore common WPF controls, including label, radio button, text box, password box, tooltip, date picker, progress bar, and scroll viewer, learning event handling and dynamic updates.
Place a text block in a scroll viewer with text wrapping to enable horizontal and vertical scrolling, then create window two and navigate from the main window.
Navigate to window two by clicking a next page button, then display a data grid with employee id and employee name columns and bind data.
Explore creating and binding a data grid in WPF using an employee class, plus building context menus and standard menus with event handlers, and review common WPF controls and layouts.
Master intermediate WPF concepts by exploring input events, rooted events, and data binding, with emphasis on code-behind and templates. Learn about triggers, graphics, multimedia, and localization using advanced controls.
Create a WPF login app in Visual Studio, using the WPF template, and explore routed events and the visual tree while wiring username, password, and login button.
Explore rooted, bubbling, and tunnel events in WPF as a login button triggers handlers on the button, grid, and main window, with code-behind and message box demonstrations.
Learn to handle mouse enter/leave and mouse move in WPF, updating a username box color and coordinates, and validating password length on keyup with a red visibility label.
Show how to use key up and mouse events in WPF to validate password length, display a minimum eight characters message, and open a new window on correct login.
Learn to create and apply WPF templates, including data templates, to display a bound list of employees in a list box with employee id and employee name.
Learn how data templates reuse list item designs and how control templates standardize button appearances across a WPF app, using window resources and static resources.
Explore how WPF triggers use dependency properties to respond to property and data changes in XAML, with property, style, and data triggers that react on mouse over and checkbox state.
Explore how data triggers control visibility based on a checkbox value, and harness event triggers to animate a label’s font size on mouse enter and leave.
Explore one-way and two-way data binding in WPF, connecting the code-behind to the UI with text boxes and data triggers, illustrated by a simple employee example.
Explore data binding in WPF, covering one way, one time, two way, and one way to source bindings with a passport number example.
Explore multi triggers in WPF by requiring multiple conditions, such as mouse over and focus, to drive setters like background color and font style.
Explore text-to-speech conversion and speech recognition in wpf multimedia by building a text box, speak button, and voice-controlled controls, using system.speech synthesis and recognition.
Build a basic WPF media player by configuring a media element source, naming it TV, and adding play, pause, and mute controls with manual loaded behavior.
Explore 2d graphics in WPF by drawing lines and ellipses with stroke and fill. Learn coordinate-based placement on a canvas and simple code-behind creation using stack panels and RGB colors.
Master creating and styling an ellipse in WPF by applying a solid color brush, filling the ellipse, and configuring width, height, stroke, and data context in XAML and code-behind.
Define polygon shapes with sequential points, adjust height and width, apply uniform stretch, rotate via render transform, and use path with move to, control points, quadratic bezier, and arc.
Explore creating 3D graphics in WPF by setting up a 3D space in a 2D canvas, defining x, y, z axes, a perspective camera, lighting, and object geometry and rotation.
Define your mesh geometry from copied positions and triangle indices, apply a green diffuse material, and bind a 3d rotate transform to a slider to rotate the object in viewport.
Explore localization in WPF by creating a localized form with labels bound to resource files for English, Russian, and Spanish, including making the resource access public.
Explore localization in WPF by creating multi-language resource files, wiring them to XAML, and switching UI culture at runtime via app.xaml.cs, while covering data binding and templates.
Master advanced WPF features, from resources, commands, and dialog boxes to custom controls, debugging, and multithreading, culminating in a full application using Visual Studio and the dotnet framework.
Learn to create a WPF project and manage resources across grid, window, and app scopes, using solid color brushes and static resources for consistent button styling.
Learn how to work with static and dynamic resources in WPF, access resource values from code-behind, and apply grid and app brushes by referencing resources defined in XAML and App.xaml.
Define wpf commands in xaml, bind them to cut and paste actions, and implement execution and can-execute logic in code-behind using the ICommand interface.
Learn how to enable and use default WPF commands such as cut and paste with can execute logic, access the text box and clipboard, and add a custom clear command.
Learn how to create and bind a custom clear command in WPF using a custom commands class, command bindings, and keyboard shortcuts like Alt+C to clear a text box.
Learn how to create and use custom user controls in WPF, including designing with XAML, code-behind, and validation logic such as a password validator with lost focus events and regex.
Reuse a password validation user control in WPF by using a regex for lowercase, uppercase, numeric, and special characters, via regex.match, displaying messages in a label across the app.
Discover how to create and manage wpf dialog boxes, including message boxes with title, yes/no/cancel options, and handling user choices with MessageBoxResult and icons.
Learn to implement a WPF open file dialog from a file menu, wire open and save event handlers, and read text into a text box with File.ReadAllText.
Learn to implement the open file dialog in WPF, set file type filters, specify an initial directory, enable multi-select, and navigate paths such as My Documents or desktop.
Learn to implement save and open file dialogs in WPF, set filters and initial directories, save text to files, and create custom dialog windows.
Learn to pass command line arguments to a WPF app at startup and read a file into a text box via the startup event.
Learn to read a text file in a WPF app using a stream reader with the first command line argument, handle errors, and display content in a text box.
Create a new WPF application using MVVM to build a student information UI with an MDF database, tables schools and students, and a form plus grid to manage data.
Explore building models from database tables with the MVVM pattern, and use a view model to present student and school data within a layered architecture.
Learn how to model database tables with C# properties, create a student form and data grid in WPF, and establish a view and view model for n-tier architecture.
Create a WPF data entry form with student ID, name, and grade text boxes and a school combo box, wired to a view model and data access layer.
Add a data access layer method get schools to read all schools from the database and populate a combobox, with an SQL connection, try-catch, and exception handling.
Build a data access layer in a WPF app by calling get schools, populating a school list, and using SQL command and data reader with error handling.
Learn to configure a connection string in app.config, access it via the Configuration Manager, and retrieve data from the students and schools tables while debugging connection initialization and common exceptions.
Bind a WPF combobox to a list of schools by setting selected value path to the school id and display path to the school name, via code-behind data binding.
Create view model properties for student and school, capture input, build a student object, and insert it into the students table via the data access layer.
Explore exception handling in a WPF application by adding students to a database, validating combo box selections, displaying success and error messages, and updating the data grid with retrieved records.
Bind the data grid's items source to a display model, auto-generate columns, and show school names via a sub query.
Bind a grid view to a display model with a where clause joining school data, exposing four properties as headers, and bind to the data grid for LCD display.
Explore a layered wpf project built with mvvm, featuring a data access layer, models, and view models to manage a schools and students database through a data grid.
Introduction:
This course takes you on a journey through WPF development, starting from the basics and advancing to complex concepts and project implementation. Whether you're new to WPF or seeking to enhance your skills, this course equips you with the tools and knowledge to create professional-grade desktop applications.
Section-Wise Writeup:
Section 1: WPF Beginner
Start your WPF journey by exploring the foundational concepts:
Lecture Highlights:
Overview of Visual Studio and introduction to WPF.
Understanding XAML and creating basic controls like text boxes, combo boxes, and date pickers.
Exploring layouts, styles, and navigation.
Working with DataGrids and menus for basic data interaction.
By the end of this section, you'll be equipped to create simple WPF applications with essential controls and layouts.
Section 2: WPF Intermediate
Build upon your beginner knowledge with more sophisticated features:
Lecture Highlights:
Master routed, tunneling, and input events.
Learn about templates, triggers, and advanced UI elements.
Dive into multimedia elements like text-to-speech, media players, and 2D/3D graphics.
Understand localization for creating global applications.
This section enhances your skills in crafting dynamic and interactive WPF applications.
Section 3: WPF Advanced
Reach the pinnacle of WPF development with advanced concepts:
Lecture Highlights:
Explore resource management, command implementation, and custom commands.
Create reusable user controls and implement dialogs (message boxes, file dialogs, etc.).
Work with command-line arguments for flexible application behavior.
This section ensures you can tackle complex WPF scenarios with confidence and precision.
Section 4: WPF Project
Apply everything you've learned in a real-world project:
Lecture Highlights:
Database creation and integration using MVVM and N-Tier architecture.
Data binding with UI elements like ComboBoxes and GridViews.
Implement CRUD operations with exception handling for robust application performance.
Conclude your learning journey with a hands-on project that mirrors real-world application development.
Conclusion:
By completing this course, you will have mastered WPF development, enabling you to create modern, feature-rich desktop applications. The structured approach, from basics to project implementation, ensures you can confidently tackle any WPF development challenge.