I need to change the ShellContnet icon programmatically from the List that I get from the JSON file, all logic is done, but I can’t change the icon when I open the flyout menu.
You can use Newtonsoft.Json to deserialize the json data and assign the value into viewmodel.
The Second step: Add ShellContent programmatically with the data.
Assuming that you’ve got the viewmodel , it should be a List , e,g List<Model> Models .
foreach(var model in Models)
{
ShellContent content = new ShellContent();
content.Title = model.Title;
content.FlyoutIcon = model.FlyoutIcon;
content.Content = new MainPage();
menu.Items.Add(content); //menu is the name you defined on FlyoutItem in xaml
}
2
Answers
You can refer to docs about Shell Flyout. I found three solutions from the docs:
The first step: Convert json data to viewmodel.
You can use Newtonsoft.Json to deserialize the json data and assign the value into viewmodel.
The Second step: Add
ShellContent
programmatically with the data.Assuming that you’ve got the viewmodel , it should be a List , e,g
List<Model> Models
.