Posts

How Dependency Injection Containers Work in C#?

Dependency Injection (DI) containers, such as Unity or DryIoc, help manage the creation and lifetime of object dependencies in C#. They facilitate the Inversion of Control (IoC) principle, allowing you to focus on writing clean, maintainable code without worrying about the complexities of instantiating dependencies manually. How DI Containers Work? Registration:  You define which concrete classes should be used to fulfill specific interface contracts. This allows the DI container to know what to instantiate when a class requests a particular dependency. Resolution:  When an instance of a class is requested, the DI container looks at the registered services, resolves the dependencies, and creates the object with the required dependencies injected. Lifetime Management:  The container manages the lifecycle of the dependencies. You can specify whether instances should be singleton (one instance for the entire application), transient (a new instance each time), or scoped (one ...

How to implement custom paging on a WPF DataGrid?

Image
In this post we are going to learn the pagination in the data grid where we will have options to select the number of records to be displayed per page in the data grid. you can select the count from the record per page combobox and based on that you can see the records. I will add the four buttons which is used for show the first page, previous page, next page and last page. Below is DataGrid control code:  <DataGrid Grid.Row="1" ItemsSource="{Binding EmployeeCollection}"                    AutoGenerateColumns="False" CanUserAddRows="False">             <DataGrid.Columns>                 <DataGridTextColumn Header="ID" Binding="{Binding ID}"/>                 <DataGridTextColumn Header="Name" Binding="{Binding Name}"/>                 <DataGridTextColumn He...

What is IoC Container?

  IoC Container IoC Container is a framework for implementing automatic dependency injection . before I explain IoC Container first lets know what is  dependency injection Dependency Injection It is a design pattern used to implement IoC. It allows the creation of dependent objects outside of a class and provides those objects to a class through different ways.  The Dependency Injection pattern involves three things which are client, service and the injector so, there will be  three  types of classes  involves in this process . Client Class : The client class is a class which depends on the service class. Service Class : The service class is a class that provides service to the client class. Injector Class : The injector class injects the service class object into the client class. The injector class injects dependencies in three ways: through a constructor, or through a property, or through a method. so, there are three types of Dependenc...

How to count the no. of times the given character in second TextBox appears in First Textbox and add the index and matched character to ListBox

Image
MainWindow  <Window x:Class="WPFWorldTutorial.Views.MainWindow"         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">     <Grid>         <StackPanel Orientation="Vertical">             <TextBox Text="{Binding Text}" Height="25" Margin="5"/>             <TextBox Text="{Binding CharToMatch}" Height="25" Margin="5"/>             <Button Content="Match" Command="{Binding MatchCharCommand}" Width="100" Margin="5"/>             <ListBox ItemsSource="{Binding MatchedInfo}">                 <ListB...

How to create Expandable TextBox in Wpf

Image
Step 1: Right click on project Step 2: Click on Add and select New Item Step 3: Search for Custom Control Step 4: Select Custom Control(WPF) Step 5: Write ExpandableTextBox in Name and click on Add It will create one class with the Name ExpandableTextBox with following code: namespace CustomControl.Controls { public class ExpandableTextBox : Control { static ExpandableTextBox() { DefaultStyleKeyProperty.OverrideMetadata(typeof(ExpandableTextBox), new FrameworkPropertyMetadata(typeof(ExpandableTextBox))); } } } It will also create a folder called Themes inside this folder it will create ResourceDictionary with the Name Generic with folowing code: Generic.xaml <ResourceDictionary xmlns:local="clr-namespace:Wpf" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> <Style TargetType="{x:Type local:ExpandableTextBox...

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...