I've been trying to display financial stock data and the TreeView has been working very well. Except it doesn't respond to CollectionChanged events. I've been able to work around that. My main issue is that the TreeMap does not display the data with many levels (which is working for TreeView). It will only drill down once or show the first level children when drilldown is set to false.
<?xml version="1.0" encoding="UTF-8"?>
<ContentPage
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:gestures="clr-namespace:App.Gestures"
xmlns:behavior="clr-namespace:App.Behaviors"
xmlns:fonts="clr-namespace:App.Fonts"
xmlns:border="clr-namespace:Syncfusion.XForms.Border;assembly=Syncfusion.Core.XForms"
xmlns:mr="clr-namespace:MR.Gestures;assembly=MR.Gestures"
xmlns:buttons="clr-namespace:Syncfusion.XForms.Buttons;assembly=Syncfusion.Buttons.XForms"
xmlns:chart="clr-namespace:Syncfusion.SfChart.XForms;assembly=Syncfusion.SfChart.XForms"
xmlns:lineargauge="clr-namespace:Syncfusion.SfGauge.XForms;assembly=Syncfusion.SfGauge.XForms"
xmlns:controls="clr-namespace:App.Controls"
xmlns:tabView="clr-namespace:Syncfusion.XForms.TabView;assembly=Syncfusion.SfTabView.XForms"
xmlns:converters="clr-namespace:App.Converters"
xmlns:treemap="clr-namespace:Syncfusion.SfTreeMap.XForms;assembly=Syncfusion.SfTreeMap.XForms"
xmlns:treeview="clr-namespace:Syncfusion.XForms.TreeView;assembly=Syncfusion.SfTreeView.XForms"
xmlns:treeviewengine="clr-namespace:Syncfusion.TreeView.Engine;assembly=Syncfusion.SfTreeView.XForms"
x:Class="App.AssetFinancialsPage">
<ContentPage.Content>
<tabView:SfTabView BackgroundColor="Transparent">
<tabView:SfTabItem Title="TreeView">
<tabView:SfTabItem.Content>
<treeview:SfTreeView
x:Name="treeView"
ChildPropertyName="Children"
ItemsSource="{Binding LineItems }">
<treeview:SfTreeView.ItemTemplate>
<DataTemplate>
<Grid Padding="5,0,0,0">
<Label
Grid.Column="0"
Text="{Binding Name}"
HorizontalTextAlignment="Start"
VerticalTextAlignment="Center"/>
<Label
Grid.Column="1"
Text="{Binding WeightString}"
HorizontalTextAlignment="End"
VerticalTextAlignment="Center"/>
</Grid>
</DataTemplate>
</treeview:SfTreeView.ItemTemplate>
</treeview:SfTreeView>
</tabView:SfTabItem.Content>
</tabView:SfTabItem>
<tabView:SfTabItem Title="TreeMap">
<tabView:SfTabItem.Content>
<treemap:SfTreeMap
x:Name="TreeMap"
EnableDrilldown="True"
LayoutType="Squarified"
ShowTooltip="False"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"
DataSource="{Binding LineItems }"
WeightValuePath="WeightAbs"
BackgroundColor="White" >
<treemap:SfTreeMap.LeafItemSettings>
<treemap:LeafItemSettings LabelPath="Name" OverflowMode="Trim"/>
</treemap:SfTreeMap.LeafItemSettings>
<treemap:SfTreeMap.Levels>
<treemap:TreeMapHierarchicalLevel ChildPadding="4" ChildBackground="White" ShowHeader = "True" HeaderHeight = "20" LabelPath="Name"
HeaderPath = "Name" ChildPath = "Children" >
<treemap:TreeMapHierarchicalLevel.HeaderStyle>
<treemap:Style Color= "Black"/>
</treemap:TreeMapHierarchicalLevel.HeaderStyle>
</treemap:TreeMapHierarchicalLevel>
</treemap:SfTreeMap.Levels>
</treemap:SfTreeMap>
</tabView:SfTabItem.Content>
</tabView:SfTabItem>
</tabView:SfTabView>
</ContentPage.Content>
</ContentPage>