ExtrabbitCode Inventor ModernUi
Controls

Display

Progress bars, spinners, loaders, cards and expanders.

Progress bar

The standard determinate ProgressBar is themed (rounded, accent fill).

<ProgressBar Value="60" Maximum="100" Width="280" />
Progress bar

Indeterminate bar

A sweeping band for unknown-duration work. Apply IndeterminateBar.

<ProgressBar Style="{DynamicResource IndeterminateBar}" Width="280" />
Indeterminate bar

Spinner

A rotating arc. Apply Spinner; size it with Width/Height.

<StackPanel Orientation="Horizontal">
  <ProgressBar Style="{DynamicResource Spinner}" />
  <ProgressBar Style="{DynamicResource Spinner}" Width="40" Height="40" Margin="20,0,0,0" />
</StackPanel>
Spinner

With a label

<StackPanel Orientation="Horizontal">
  <ProgressBar Style="{DynamicResource Spinner}" Width="20" Height="20" />
  <TextBlock Text="Loading…" VerticalAlignment="Center" Margin="10,0,0,0" />
</StackPanel>
Spinner with a label

Dots loader

Three pulsing dots. Apply DotsLoader.

<ProgressBar Style="{DynamicResource DotsLoader}" HorizontalAlignment="Left" />
Dots loader

Animation timing can't be data-bound in XAML. To change a spinner or bar's speed at runtime, drive it from a controllable AnimationClock and set clock.Controller.SpeedRatio.

Card

Apply the Card style to a Border for a panel surface with rounded corners and padding.

<Border Style="{DynamicResource Card}">
  <TextBlock Text="Card surface" />
</Border>
Card

Expander

<Expander Header="Output" IsExpanded="True">
  <StackPanel>
    <TextBlock Text="Body Name" Margin="0,0,0,4" />
    <TextBox Text="Solid1" Width="200" HorizontalAlignment="Left" />
  </StackPanel>
</Expander>
Expander

The body uses the Expander's own Padding (default: the Padding.Card token, 16px). Set it on the control for a compact body:

<Expander Header="Details" IsExpanded="True" Padding="8,6">
  <TextBlock Text="A tighter body for dense dialogs." />
</Expander>
Expander with compact padding

On this page