Posts

Showing posts from August, 2020

Understanding Commands in WPF: A Cleaner Alternative to Button Click Events

Many WPF developers start by using Button Click events for handling user actions. At first, this seems simple and straightforward. But very soon, the code-behind file becomes huge , and maintaining it turns into a challenge. One big problem arises: when the logic changes, the button does not enable or disable automatically , and testing button click logic becomes very difficult. So the big question is: Is there a better way to handle button actions in WPF? The answer is Commands . In this post, we’ll learn how to use Commands in WPF with a simple, practical example. We’ll cover: What a Command is How it works Why using Commands is better than Click events How buttons can automatically enable or disable based on conditions What is a Command in WPF? In WPF, a Command acts as a middle layer between the UI and your logic. Instead of the button directly calling a method, it triggers a Command , and the Command decides: What code should run Whether the button s...

How to Import/Export data of DataGrid from/to CSV file in wpf using MVVM

In this post i will explain how to Import/Export data of DataGrid from/to CSV file in wpf using MVVM To Import CSV to DataGrid i have created method called LoadCSV() which will load CSV data and update the DataGrid  private void LoadCSV()         {             LstEmployees.AddRange(File.ReadAllLines("csvFilePath")                                          .Skip(1)                                          .Select(v => CsvToEmployees(v))                                          .ToList());         }          In LoadCSV() method i am first reading the CSV using File cla...

Multiple ways to handle Checked/Unchecked event in wpf using MVVM

Image
In this post i am trying to explain multiple way to handle Checked/Unchecked event in wpf using MVVM First let's create a view which contains multiple CheckBox.  All CheckBox will handle the Checked/Unchecked event differently.  CheckBoxEx.xaml <Window x:Class="PrismApp.Views.CheckBoxEx"              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"              xmlns:prism="http://prismlibrary.com/"              prism:ViewModelLocator.AutoWireViewModel="True">     <StackPanel >         <CheckBox Content="Bind Command by passing CheckBox as CommandParameter but set command parameter type is object" HorizontalAlignment="Left" VerticalAlignment="Center"  Name="chkObj"            ...