Posts

Showing posts from January, 2020

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

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

Validation By ValidationRule 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">     <Window.Resources>         <ControlTemplate x:Key=" errorTemplate ">       ...

Validation By IDataErrorInfo in Wpf using MVVM

<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">     <Window.Resources>         <ControlTemplate x:Key=" errorTemplate ">       ...

Validation By Annotation 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">     <Window.Resources>         <ControlTemplate x:Key=" errorTemplate ">     ...

Validation By Exception in Wpf using MVVM

Image
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">     <Window.Resources>         <ControlTemplate x:Key=" errorTemplate ">       ...

How to change background color of TabItems on mouse over?

<TabControl >             <TabControl.ItemContainerStyle>                 <Style TargetType="TabItem" BasedOn="{StaticResource {x:Type TabItem}}">                     <Setter Property="HeaderTemplate">                         <Setter.Value>                             <DataTemplate>                                 <StackPanel Orientation="Horizontal" Margin="5" >                                     <StackPanel.Style>                             ...