Tabs
Note: You can check the Avalonia docs for the TabControl and TabControl API if you need more information.
For Avalonia.FuncUI's DSL properties you can check TabControl.fs
The TabControl offers you a way to present content inside your application, each tab contains a different set of controls.
Set Tabs
let homePageContent =
DockPanel.create [
DockPanel.children [
TextBox.create [ TextBox.text "Home" ]
]
]
let aboutPageContent =
DockPanel.create [
DockPanel.children [
TextBox.create [ TextBox.text "About" ]
]
]
let tabs : IView list = [
TabItem.create [
TabItem.header "Home"
TabItem.content homePageContent
]
TabItem.create [
TabItem.header "About"
TabItem.content aboutPageContent
]
]
TabControl.create [
TabControl.tabStripPlacement Dock.Left // Change this property to tell the app where to show the tab bar
TabControl.viewItems tabs
]Set HostControl as content
You can also include individual Elmish Controls as the content of your tabs by using the ViewBuilder. Visit the example to see it in action
In the example above the Counter module defines a HostControl to allow that module to work by itself. This means you don't need to nest every view/control inside the main Elmish module of your app, this can help you reduce boilerplate and complexity in the main module of your application
Last updated