Having trouble getting help?
Contact Support
Contact Support
Events in the .NET MAUI TreeMap (SfTreeMap)
Notifying TreeMap selection changes
The SelectionChanged event occurs when there is a change in the selection within a tree map item.
We can get the below details from the SelectionChanged event.
- OldItems: Returns the previously selected items.
- NewItems: Returns the newly selected items.
- Category: Returns the hierarchical path of the selected item within its groups.
- IsSelected: Returns the items are selected or deselected.
- GroupLevel: Returns the level of grouping for the selected items.
<treemap:SfTreeMap x:Name="treeMap"
DataSource="{Binding PopulationDetails}"
SelectionChanged="OnTreeMapSelectionChanged"
PrimaryValuePath="Population">
<treemap:SfTreeMap.BindingContext>
<local:PopulationViewModel />
</treemap:SfTreeMap.BindingContext>
<treemap:SfTreeMap.LeafItemSettings>
<treemap:TreeMapLeafItemSettings LabelPath="Country">
</treemap:TreeMapLeafItemSettings>
</treemap:SfTreeMap.LeafItemSettings>
<treemap:SfTreeMap.LeafItemBrushSettings>
<treemap:TreeMapUniformBrushSettings Brush="Orange"/>
</treemap:SfTreeMap.LeafItemBrushSettings>
</treemap:SfTreeMap>
this.treeMap.SelectionChanged += this.OnTreeMapSelectionChanged;
private void OnTreeMapSelectionChanged(object sender, TreeMapSelectionChangedEventArgs e)
{
var oldItems = e.OldItems;
var newItems = e.NewItems;
string groupName = e.Category;
int groupLevel = e.GroupLevel;
bool isSelected = e.IsSelected;
}
public class PopulationDetails
{
public string Country { get; set; }
public string Continent { get; set; }
public int Population { get; set; }
}
public class PopulationViewModel
{
public PopulationViewModel()
{
this.PopulationDetails = new ObservableCollection<PopulationDetails>()
{
new PopulationDetails() { Continent ="North America", Country = "United States of America", Population = 339996564 },
new PopulationDetails() { Continent ="South America", Country = "Brazil", Population = 216422446 },
new PopulationDetails() { Continent ="North America", Country = "Mexico", Population = 128455567 },
new PopulationDetails() { Continent ="South America", Country = "Colombia", Population = 52085168 },
new PopulationDetails() { Continent ="South America", Country = "Argentina", Population = 45773884 },
new PopulationDetails() { Continent ="North America", Country = "Canada", Population = 38781292 },
new PopulationDetails() { Continent ="South America", Country = "Peru", Population = 34352719 },
new PopulationDetails() { Continent ="South America", Country = "Venezuela", Population = 28838499 },
new PopulationDetails() { Continent ="South America", Country = "Chile", Population = 19629590 },
new PopulationDetails() { Continent ="South America", Country = "Ecuador", Population = 18190484 },
new PopulationDetails() { Continent ="North America", Country = "Guatemala", Population = 18092026 },
new PopulationDetails() { Continent ="South America", Country = "Bolivia", Population = 12388571 },
new PopulationDetails() { Continent ="North America", Country = "Honduras", Population = 10593798 },
new PopulationDetails() { Continent ="North America", Country = "Nicaragua", Population = 7046311 },
new PopulationDetails() { Continent ="South America", Country = "Paraguay", Population = 6861524 },
new PopulationDetails() { Continent ="North America", Country = "El Salvador", Population = 6364943 },
new PopulationDetails() { Continent ="North America", Country = "Costa Rica", Population = 5212173 },
new PopulationDetails() { Continent ="South America", Country = "Uruguay", Population = 3423109 },
};
}
public ObservableCollection<PopulationDetails> PopulationDetails
{
get;
set;
}
}