infoMessage control
MODIFY
WalletWasabi.Fluent/App.xaml
WalletWasabi.Fluent/App.xaml
<StyleInclude Source="avares://WalletWasabi.Fluent/Icons/Icons.xaml" />
<StyleInclude Source="avares://WalletWasabi.Fluent/Styles/Styles.xaml" />
<StyleInclude Source="avares://WalletWasabi.Fluent/Controls/ContentArea.axaml" />
+ <StyleInclude Source="avares://WalletWasabi.Fluent/Controls/InfoMessage.axaml" />
<StyleInclude Source="avares://WalletWasabi.Fluent/Controls/Dialog.xaml" />
<StyleInclude Source="avares://WalletWasabi.Fluent/Controls/ProgressRingArc.xaml" />
<StyleInclude Source="avares://WalletWasabi.Fluent/Controls/ProgressRing.xaml" />

ADD
WalletWasabi.Fluent/Controls/InfoMessage.axaml
+<Styles xmlns="https://github.com/avaloniaui"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:c="using:WalletWasabi.Fluent.Controls">
+
+ <Style Selector="c|InfoMessage">
+ <Setter Property="Template">
+ <ControlTemplate>
+ <DockPanel Background="{TemplateBinding Background}">
+
+ <PathIcon Data="{StaticResource info_regular}"
+ Foreground="{TemplateBinding Foreground}"
+ DockPanel.Dock="Left"
+ VerticalAlignment="Top"
+ Width="{TemplateBinding IconSize}"
+ Height="{TemplateBinding IconSize}"/>
+
+ <ContentPresenter Name="PART_ContentPresenter"
+ ContentTemplate="{TemplateBinding ContentTemplate}"
+ Content="{TemplateBinding Content}"
+ Margin="10 2 0 0"/>
+ </DockPanel>
+ </ControlTemplate>
+ </Setter>
+ </Style>
+
+ <Style Selector="c|InfoMessage :is(TextBlock)">
+ <Setter Property="TextWrapping" Value="Wrap" />
+ </Style>
+</Styles>

ADD
WalletWasabi.Fluent/Controls/InfoMessage.axaml.cs
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Media;
+
+namespace WalletWasabi.Fluent.Controls
+{
+ public class InfoMessage : Label
+ {
+ public static readonly StyledProperty<int> IconSizeProperty =
+ AvaloniaProperty.Register<ContentArea, int>(nameof(IconSize), 20);
+
+ public int IconSize
+ {
+ get => GetValue(IconSizeProperty);
+ set => SetValue(IconSizeProperty, value);
+ }
+ }
+}
\ No newline at end of file

MODIFY
WalletWasabi.Fluent/Views/Settings/SettingsPageView.xaml
WalletWasabi.Fluent/Views/Settings/SettingsPageView.xaml
<c:ContentArea Title="Settings" Caption="Manage appearance, privacy and other settings">
<DockPanel LastChildFill="True">
- <!-- <StackPanel IsVisible="{Binding IsModified}" DockPanel.Dock="Bottom" Orientation="Horizontal"> -->
- <DockPanel DockPanel.Dock="Bottom">
- <PathIcon Data="{StaticResource info_regular}" Foreground="{StaticResource WarningMessageForeground}" DockPanel.Dock="Left" VerticalAlignment="Top" Width="20" Height="20"/>
- <TextBlock Text="Changes will be applied after restarting the application." TextWrapping="Wrap" Foreground="{StaticResource WarningMessageForeground}" Margin="10 2 0 0"/>
- </DockPanel>
+ <c:InfoMessage Content="Changes will be applied after restarting the application."
+ Foreground="{StaticResource WarningMessageForeground}"
+ IsVisible="{Binding IsModified}"
+ DockPanel.Dock="Bottom" />
<TabControl SelectedIndex="{Binding SelectedTab, Mode=TwoWay}">
<TabItem Header="General">

MODIFY
WalletWasabi.Fluent/WalletWasabi.Fluent.csproj
WalletWasabi.Fluent/WalletWasabi.Fluent.csproj
<SubType>Designer</SubType>
</AvaloniaResource>
<AvaloniaResource Include="Assets\**" />
+ <Compile Update="Controls\InfoMessage.axaml.cs">
+ <DependentUpon>InfoMessage.axaml</DependentUpon>
+ <SubType>Code</SubType>
+ </Compile>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.999-cibuild0012072-beta" />

infoMessage control