WPF DataGrid DataGridTextColumn,DataGridCheckBoxColumn,DataGridComboBoxColumn,DataGridHyperlinkColumn,DataGridTemplateColumn
<Window x:Class="WpfApp397.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:WpfApp397" xmlns:sys="clr-namespace:System;assembly=mscorlib" mc:Ignorable="d" WindowState="Maximized" Title="MainWindow" Height="450" Width="800"> <Window.Resources> <ObjectDataProvider x:Key="kindEnum" MethodName="GetValues" ObjectType="{x:Type sys:Enum}"> <ObjectDataProvider.MethodParameters> <x:Type Type="local:BookKindEnum"/> </ObjectDataProvider.MethodParameters> </ObjectDataProvider> <local:BooksData x:Key="booksData"/> </Window.Resources> <Grid> <DataGrid ItemsSource="{StaticResource booksData}" CanUserReorderColumns="True" CanUserResizeColumns="True" CanUserResizeRows="True" CanUserSortColumns="True" GridLinesVisibility="Horizontal" HeadersVisibility="All" BorderBrush="Blue" BorderThickness="3" VirtualizingPanel.IsContainerVirtualizable="True" VirtualizingPanel.IsVirtualizing="True" VirtualizingPanel.VirtualizationMode="Recycling" AutoGenerateColumns="False" CanUserAddRows="False"> <DataGrid.Columns> <DataGridTextColumn Header="Id" Binding="{Binding Id}" SortDirection="Ascending" /> <DataGridTextColumn Header="Name" Binding="{Binding Name}"/> <DataGridHyperlinkColumn Header="Uri" Binding="{Binding BookUri}"/> <DataGridComboBoxColumn Header="Kind" SelectedItemBinding="{Binding BookKind}" ItemsSource="{Binding Source={StaticResource kindEnum}}"/> <DataGridCheckBoxColumn Header="IsTech" Binding="{Binding IsTech}"/> <DataGridTemplateColumn Header="Image"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <Viewbox> <Image Source="{Binding ImgUrl}" Width="100" Height="300"/> </Viewbox> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> </DataGrid.Columns> </DataGrid> </Grid> </Window>