How to: Programmatically create a group with custom contents
- 2 minutes to read
This examples demonstrates how a group can be created programmatically, and its content can be defined using a StackPanel and two TextBlock controls. The second TextBlock displays the text of the selected item within the NavBarControl.
private void CreateGroup2(NavBarControl navBar){
NavBarGroup group2 = new NavBarGroup();
group2.Header = "Custom Content";
//Specify that the group's content should be defined via the Content property
group2.DisplaySource = DisplaySource.Content;
//Create a StackPanel and specify it as the group's content
StackPanel stackPanel = new StackPanel() { Orientation = Orientation.Horizontal };
group2.Content = stackPanel;
//Define the panel's content by creating two text blocks
stackPanel.Children.Add(new TextBlock() {Text = "Selected Item: "});
TextBlock textBlock2 = new TextBlock();
Binding textBlockTextBinding = new Binding("SelectedItem.Content");
textBlockTextBinding.Source = navBar; //textBlockTextBinding.Source = navBar.Groups[0];
//The second text block displays the text of the NavBarControl's selected item
textBlock2.SetBinding(TextBlock.TextProperty, textBlockTextBinding);
stackPanel.Children.Add(textBlock2);
navBar.Groups.Add(group2);
}