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 instance per r

Print preview with Print in wpf using MVVM, Prism

  MainWindow.xaml  <Window x:Class="WpfDemo.Views.MainWindow"              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"              xmlns:local="clr-namespace:WpfDemo"              mc:Ignorable="d" Title="MainWindow">      <StackPanel Orientation="Vertical" HorizontalAlignment="Center">          <TextBlock Text="This is Print Preview demo"/>          <Button Content="Open file dialog" Command="{Binding ClickCommand}"  Margin="10" Width="100"/>        </StackPanel>  </Window>   MainWindow.xaml.cs   public partial class MainWindow : Window  

How to Enable/Disable Button on Validation using DelegateCommand of Prism

Image
  MainWindow.xaml  <Window x:Class="Wpf.Views.MainWindow"              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"              xmlns:local="clr-namespace:Wpf"              mc:Ignorable="d">      <Window.Resources>          <ControlTemplate  x:Key="TextBoxErrorStyle">              <StackPanel Orientation="Horizontal">                  <AdornedElementPlaceholder x:Name="ErrorHolder" >                      <Border BorderBrush="red" BorderThickness="1" />                  </AdornedElementPlaceholder>                  <TextBlock  Text="{Binding [0].ErrorCont

How to edit selected row of DataGrid and add the new row to DataGrid

MainWindow.xaml <Window x:Class="WpfEx.Views.MainWindow"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"        xmlns:local="clr-namespace:WpfEx"        mc:Ignorable="d">   <StackPanel> <DataGrid ItemsSource="{Binding LstStudents}" SelectedItem="{Binding SelectedStudent}" AutoGenerateColumns="False" Height="200" Width="200" HorizontalAlignment="Left">            <DataGrid.Columns>                <DataGridTextColumn Header="Name" Binding="{Binding Name}"/>                <DataGridTextColumn Header="Roll" Binding="{Binding Roll}"/>    

How to show xml data in DataGrid?

XMLData.xml < Students >   < Student >     < Roll > 1 </ Roll >     < Name > Kumar </ Name >   </ Student >   < Student >     < Roll > 2 </ Roll >     < Name > Harsh </ Name >   </ Student > </ Students > Create a class for xml data public   partial   class   Student     {          public   int  Roll {  get ;  set ; }                          public   string  Name {  get ;  set ; }     } Code To get data from xml file XmlSerializer serializer =  new  XmlSerializer( typeof ( ObservableCollection<Student>) ,  new XmlRootAttribute( "Students" )); //here Student is type and Students is root of xml                        using  (StreamReader reader =  new StreamReader( @"D:\XMLData.xml" ))             {                 //Deserilize the xml file and assign to collection                 LstStudents =(ObservableCollectio

Validation By Exception (Display Error message by ToolTip) in Wpf using MVVM

View <Window x:Class="WpfPrismTutorial.Views.MainWindow"         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"         xmlns:local="clr-namespace:WpfPrismTutorial"         mc:Ignorable="d"         prism:ViewModelLocator.AutoWireViewModel="True"         xmlns:prism="http://prismlibrary.com/"         xmlns:valid="clr-namespace:WpfPrismTutorial.Validations"         Title="MainWindow" Height="450" Width="800">     <Grid VerticalAlignment="Center" HorizontalAlignment="Left">               <StackPanel Orientation="Horizontal">             <TextBlock Text="Val