Hi saurabh,
It seems that when you affect the ItemsPanelTemplate with a CardViewItemsHost (formerly VirtualizingCardViewPanel), the Orientation is not correctly updated. I was able to reproduce and a I filled a bug report for this issue.
Fortunately, there is a workaround: redefine de DataGridControl's ControlTemplate
(ControlTemplate was extracted from "themes\common\CardView.GridElementTemplates.xaml", from the installation folder of the package.)
<!--**************************
* TEMPLATE: DataGridControl
************************** -->
<ControlTemplate x:Key="customCardViewDataGridControlTemplate"
TargetType="xcdg:DataGridControl">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<!-- The AdornerDecorator will allow visual cues for Drag & Drop operations. -->
<AdornerDecorator x:Name="PART_DragDropAdornerDecorator">
<!-- The CardViewScrollViewer takes care of laying out the various sections of
a DataGrid in CardView: FixedHeaders, FixedFooters, etc. -->
<xcdg:CardViewScrollViewer x:Name="PART_ScrollViewer"
Padding="{TemplateBinding Padding}">
<!-- ORIENTATION CHANGED ON THIS ELEMENT -->
<xcdg:CardViewItemsHost Margin="0,15,0,5" Orientation="Horizontal"
FixedSize="{Binding RelativeSource={RelativeSource Self}, Path=(xcdg:DataGridControl.DataGridContext).CardWidth, Mode=TwoWay}"
AllowCardResize="{Binding RelativeSource={RelativeSource Self}, Path=(xcdg:DataGridControl.DataGridContext).AllowCardResize}"
SeparatorLinePen="{Binding RelativeSource={RelativeSource Self}, Path=(xcdg:DataGridControl.DataGridContext).SeparatorLinePen}" />
</xcdg:CardViewScrollViewer>
</AdornerDecorator>
</Border>
</ControlTemplate>
Christian Nadeau
Software Developer
Xceed Software Inc.