I am using expander in listview and in the expander, I want to use colectionview but cannot able to bind collectionview itemsource.
Here is a kind of structure
//Xaml File
<ListView SelectionMode="None"
BackgroundColor="#F8F9FD"
ItemsSource="{Binding STemplateData}"
VerticalOptions="FillAndExpand"
HasUnevenRows="True"
VerticalScrollBarVisibility="Never"
HorizontalScrollBarVisibility="Never"
SeparatorVisibility="None">
<ListView.ItemTemplate>
<DataTemplate >
<ViewCell>
<Frame
BorderColor="#0000000D"
Margin="4,0,4,4"
CornerRadius="5"
HasShadow="False"
BackgroundColor="White">
<expand:Expander Tapped="ResultsExpander_Tapped" x:Name="ResultsExpander" IsExpanded="{Binding ResultsExpanded,Mode=TwoWay}" Command="{Binding myTest, Mode=OneWay}">
<expand:Expander.Header >
<StackLayout >
<Label VerticalOptions="CenterAndExpand"
Text="{Binding templateName}"
TextColor="#596080"
FontSize="12"
FontFamily="Inter-SemiBold"/>
</StackLayout>
</expand:Expander.Header>
<expand:Expander.Content>
<CollectionView ItemsSource="{Binding ICodeData}" ItemsLayout="HorizontalList">
<CollectionView.ItemTemplate>
<DataTemplate>
<StackLayout>
<Label Text="{Binding iCode}"/>
</StackLayout>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</expand:Expander.Content>
</expand:Expander>
</Frame>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
//ViewModel
//ListView
ObservableCollection < STemplateItem > _sTemplateData;
public ObservableCollection<STemplateItem> STemplateData
{
get { return _sTemplateData; }
set
{
_sTemplateData = value;
OnPropertyChanged();
}
}
STemplateData = new ObservableCollection<STemplateItem>(){
new STemplateResults{templateName = "ABC"},
new STemplateResults{templateName = "PQR"},
}
//Collectionview
ObservableCollection<ICodes> _iCodeData;
public ObservableCollection<ICodes> ICodeData
{
get { return _iCodeData; }
set
{
_iCodeData = value;
OnPropertyChanged();
}
}
//Models
public class ICodes
{
public string iCode { get; set; }
}
public class STemplateItem
{
public string templateName { get; set; }
}
So someone helps me to find out how can I bind collectionview. I am doing this with viewmodel and trying to bind data using ObservableCollection List view is working fine but in collectionview i am not able to see any data.
Thanks,