A control in Noesis gets its appearance from the
Template property. The template defines the visual tree (UI elements) that compose the appearance of the control. It can also contain triggers and visual states to change the appearance depending on the control state. A theme dictionary must define the styles and templates for the controls used in your application (if you don't define the template it will show our minimalistic pink template). In your example it could be like this:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Color x:Key="PrimaryBackground">#44A7F7</Color>
<Color x:Key="PrimaryOverBackground">#64C7F7</Color>
<SolidColorBrush x:Key="PrimaryBackgroundBrush" Color="{StaticResource PrimaryBackground}"/>
<SolidColorBrush x:Key="PrimaryBackgroundOverBrush" Color="{StaticResource PrimaryOverBackground}"/>
<ControlTemplate x:Key="ButtonTemplate" TargetType="{x:Type Button}">
<Border x:Name="Bd" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{StaticResource PrimaryBackgroundOverBrush}" TargetName="Bd"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="{StaticResource ResourceKey=PrimaryBackgroundBrush}"/>
<Setter Property="Template" Value="{StaticResource TemplateTemplate}"/>
</Style>
</ResourceDictionary>
This Button style is using Button type as
implicit key, so all buttons in your xamls will use the style and template defined in the theme:
<StackPanel
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Button Content="Button 1"/>
<Button Content="Button 2"/>
<Button Content="Button 3"/>
</StackPanel>
You have to set the theme dictionary in
ApplicationResources property under Noesis Settings.