Timeline
Overview
Section titled “Overview”Timeline is a vertical timeline: an ItemsControl hosting NaviusTimelineItem entries in a single
column. Each item is a HeaderedContentControl: Header holds the rail (a NaviusTimelineDot,
plus a NaviusTimelineConnector on every item except the last), and Content holds a
NaviusTimelineContent block (a fixed-vertical StackPanel for a NaviusTimelineTitle and
NaviusTimelineDescription). HeaderedContentControl is reused directly rather than inventing a
bespoke two-content control, since it already models exactly that two-slot shape.
xmlns:timeline="clr-namespace:Navius.Wpf.Ui.Timeline;assembly=Navius.Wpf.Ui"
<ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="pack://application:,,,/Navius.Wpf.Ui;component/Themes/Timeline.xaml" /></ResourceDictionary.MergedDictionaries>
<timeline:NaviusTimeline> <timeline:NaviusTimelineItem> <timeline:NaviusTimelineItem.Header> <StackPanel> <timeline:NaviusTimelineDot Variant="Default" /> <timeline:NaviusTimelineConnector /> </StackPanel> </timeline:NaviusTimelineItem.Header> <timeline:NaviusTimelineContent> <timeline:NaviusTimelineTitle Content="Repository created" /> <timeline:NaviusTimelineDescription Content="Project scaffolded." /> </timeline:NaviusTimelineContent> </timeline:NaviusTimelineItem> <timeline:NaviusTimelineItem> <timeline:NaviusTimelineItem.Header> <timeline:NaviusTimelineDot Variant="Outline" /> </timeline:NaviusTimelineItem.Header> <timeline:NaviusTimelineContent> <timeline:NaviusTimelineTitle Content="In progress" /> <timeline:NaviusTimelineDescription Content="Last item omits the connector." /> </timeline:NaviusTimelineContent> </timeline:NaviusTimelineItem></timeline:NaviusTimeline>Properties
Section titled “Properties”| Property | Type | Default | From | Description |
|---|---|---|---|---|
Header |
object? |
null |
HeaderedContentControl (via NaviusTimelineItem) |
The rail content: a NaviusTimelineDot, optionally followed by a NaviusTimelineConnector. |
Content |
object? |
- |
ContentControl/HeaderedContentControl (via NaviusTimelineItem) |
The row body, typically a NaviusTimelineContent. |
Variant |
NaviusTimelineDotVariant |
Default |
NaviusTimelineDot |
Default | Outline | Secondary | Destructive | Muted. Each switches the dot’s background/foreground/border brushes via Themes/Timeline.xaml style triggers; Outline additionally renders a 2px border on a Navius.Card background instead of a filled circle. |
UIA mechanism
Section titled “UIA mechanism”None of the seven types in this family override CreateAutomationPeer. NaviusTimeline (an
ItemsControl) relies on whatever default peer ItemsControl provides natively; NaviusTimelineItem
(a HeaderedContentControl) and the ContentControl-derived NaviusTimelineDot/NaviusTimelineTitle/
NaviusTimelineDescription likewise rely on their native ContentControl behavior. NaviusTimelineConnector
is explicitly decorative (the doc comment describes it as “the hairline connecting a
NaviusTimelineDot to the next item’s dot,” with nothing to announce). The M6 audit found this
family clean: all variant brushes (Primary, Secondary, Destructive, Muted and their
foregrounds) are sourced via DynamicResource, with no template-part lookups or risky bindings.
The unit suite verifies template application for NaviusTimeline/NaviusTimelineItem/
NaviusTimelineConnector, the Default/Destructive NaviusTimelineDot background colors, and
that an ItemsSource of NaviusTimelineItem populates Items.
Web deltas
Section titled “Web deltas”- Vertical-only: the web contract’s Horizontal and Alternate layouts are not ported. This project’s
scope is a single vertical column, per the doc comment on
NaviusTimeline.