Remove your namespace reference of dg: and add this xaml
<datagrid autogeneratecolumns="False" height="200" horizontalalignment="Left" margin="153,84,0,0" name="dataGrid1" verticalalignment="Top" width="200">
<datagrid.columns>
<datagridtextcolumn header="AuthorID" fontweight="Black" foreground="Red">
FontSize="16" FontStyle="Italic"
CanUserReorder="True"
CanUserSort="True" SortDirection="Ascending" Binding="{Binding Path=AuthorID}">
<datagridtextcolumn.elementstyle>
<style targettype="TextBlock">
<setter property="TextAlignment" value="Center" />
</style>
</datagridtextcolumn.elementstyle>
<datagridtextcolumn.editingelementstyle>
<style targettype="TextBox">
<setter property="TextWrapping" value="Wrap" />
<setter property="AcceptsReturn" value="true" />
</style>
</datagridtextcolumn.editingelementstyle>
<datagridcolumn.headerstyle>
<style targettype="{x:Type DataGridColumnHeader}">
<setter property="Background">
<setter.value>
<lineargradientbrush endpoint="1,1" startpoint="0.5,0" spreadmethod="Pad">
<gradientstop color="Bisque" offset="0" />
<gradientstop color="Cyan" offset="1" />
</lineargradientbrush>
</setter.value>
</setter>
<setter property="Foreground" value="Black" />
<setter property="FontSize" value="20" />
<setter property="HorizontalContentAlignment" value="Center" />
<setter property="BorderBrush" value="yellow" />
<setter property="BorderThickness" value="2,2,2,2" />
</style>
</datagridcolumn.headerstyle>
</datagridtextcolumn>
<datagridtextcolumn header="FirstName" fontweight="Bold" foreground="DarkGreen" fontsize="16" fontstyle="Italic">
CanUserSort="False" Binding="{Binding Path=FirstName}">
<datagridtextcolumn.elementstyle>
<style targettype="TextBlock">
<setter property="TextAlignment" value="Center" />
</style>
</datagridtextcolumn.elementstyle>
<datagridtextcolumn.editingelementstyle>
<style targettype="TextBox">
<setter property="TextWrapping" value="Wrap" />
<setter property="AcceptsReturn" value="true" />
</style>
</datagridtextcolumn.editingelementstyle>
<datagridcolumn.headerstyle>
<style targettype="{x:Type DataGridColumnHeader}">
<setter property="Background">
<setter.value>
<lineargradientbrush endpoint="1,1" startpoint="0.5,0" spreadmethod="Pad">
<gradientstop color="Lavender" offset="0" />
<gradientstop color="BlanchedAlmond" offset="1" />
</lineargradientbrush>
</setter.value>
</setter>
<setter property="Foreground" value="Black" />
<setter property="FontSize" value="20" />
<setter property="HorizontalContentAlignment" value="Center" />
<setter property="Width" value="Auto" />
<setter property="BorderBrush" value="Yellow" />
<setter property="BorderThickness" value="2,2,2,2" />
</style>
</datagridcolumn.headerstyle>
</datagridtextcolumn>
<datagridtextcolumn header="LastName" fontweight="Bold" foreground="OrangeRed" fontsize="16" fontstyle="Italic">
CanUserSort="False" Binding="{Binding Path=LastName}">
<datagridtextcolumn.elementstyle>
<style targettype="TextBlock">
<setter property="TextAlignment" value="Center" />
</style>
</datagridtextcolumn.elementstyle>
<datagridtextcolumn.editingelementstyle>
<style targettype="TextBox">
<setter property="TextWrapping" value="Wrap" />
<setter property="AcceptsReturn" value="true" />
</style>
</datagridtextcolumn.editingelementstyle>
<datagridcolumn.headerstyle>
<style targettype="{x:Type DataGridColumnHeader}">
<setter property="Background">
<setter.value>
<lineargradientbrush endpoint="1,1" startpoint="0.5,0" spreadmethod="Pad">
<gradientstop color="Brown" offset="0" />
<gradientstop color="White" offset="1" />
</lineargradientbrush>
</setter.value>
</setter>
<setter property="Foreground" value="Black" />
<setter property="FontSize" value="20" />
<setter property="HorizontalContentAlignment" value="Center" />
<setter property="Width" value="Auto" />
<setter property="BorderBrush" value="Yellow" />
<setter property="BorderThickness" value="2,2,2,2" />
</style>
</datagridcolumn.headerstyle>
</datagridtextcolumn>
<datagridtemplatecolumn header="DOB" minwidth="100" canusersort="False">
<datagridtemplatecolumn.headerstyle>
<style targettype="{x:Type DataGridColumnHeader}">
<setter property="Background">
<setter.value>
<lineargradientbrush endpoint="1,.1" startpoint="0.5,1" spreadmethod="Pad">
<gradientstop color="Orange" offset="1" />
<gradientstop color="Thistle" offset="0" />
</lineargradientbrush>
</setter.value>
</setter>
<setter property="Foreground" value="Black" />
<setter property="FontSize" value="20" />
<setter property="HorizontalContentAlignment" value="Center" />
<setter property="Width" value="Auto" />
<setter property="BorderBrush" value="yellow" />
<setter property="BorderThickness" value="2,2,2,2" />
</style>
</datagridtemplatecolumn.headerstyle>
<datagridtemplatecolumn.celleditingtemplate>
<datatemplate>
<datepicker selecteddate="{Binding DOB}" selecteddateformat="Short" calendarstyle="DynamicResource CalenderControlTemplate" />
</datatemplate>
</datagridtemplatecolumn.celleditingtemplate>
<datagridtemplatecolumn.celltemplate>
<datatemplate>
<textblock text="{Binding DOB, StringFormat=d}" foreground="DarkTurquoise" horizontalalignment="Center" />
</datatemplate>
</datagridtemplatecolumn.celltemplate>
</datagridtemplatecolumn>
<datagridcheckboxcolumn header="Pass/Fail" binding="{Binding Pass}">
<datagridcolumn.headerstyle>
<style targettype="{x:Type DataGridColumnHeader}">
<setter property="Background">
<setter.value>
<lineargradientbrush endpoint="1,1" startpoint="0.5,0" spreadmethod="Pad">
<gradientstop color="#FFC2D6F6" offset="0" />
<gradientstop color="White" offset="1" />
</lineargradientbrush>
</setter.value>
</setter>
<setter property="Foreground" value="Black" />
<setter property="FontSize" value="20" />
<setter property="HorizontalContentAlignment" value="Center" />
<setter property="Width" value="Auto" />
<setter property="BorderBrush" value="Yellow" />
<setter property="BorderThickness" value="2,2,2,2" />
</style>
</datagridcolumn.headerstyle>
</datagridcheckboxcolumn>
<datagridtextcolumn header="Nationality" fontweight="Bold" foreground="SandyBrown">
FontSize="16" FontStyle="Italic" CanUserSort="False"
Binding="{Binding Path= Nationality}" Width="Auto">
<datagridtextcolumn.elementstyle>
<style targettype="TextBlock">
<setter property="TextAlignment" value="Center" />
</style>
</datagridtextcolumn.elementstyle>
<datagridtextcolumn.editingelementstyle>
<style targettype="TextBox">
<setter property="TextWrapping" value="Wrap" />
<setter property="AcceptsReturn" value="true" />
</style>
</datagridtextcolumn.editingelementstyle>
<datagridcolumn.headerstyle>
<style targettype="{x:Type DataGridColumnHeader}">
<setter property="Background">
<setter.value>
<lineargradientbrush endpoint="0.5,1" startpoint="0.5,0" spreadmethod="Pad">
<gradientstop color="Blue" offset="0" />
<gradientstop color="White" offset="1" />
</lineargradientbrush>
</setter.value>
</setter>
<setter property="Foreground" value="Black" />
<setter property="FontSize" value="20" />
<setter property="HorizontalContentAlignment" value="Center" />
<setter property="Width" value="Auto" />
<setter property="BorderBrush" value="Yellow" />
<setter property="BorderThickness" value="2,2,2,2" />
</style>
</datagridcolumn.headerstyle>
</datagridtextcolumn>
</datagrid.columns>
</datagrid>
I think the problem lies in your xaml with the namespace declaration of:
dg:DataGridTextColumn
what is
dg:
defined as in you xaml.
Try excluding it and see now if you don't get the problem. because it seems to work fine for me.
Regards