Use IconName for binding so we get property updates propagated
MODIFY
WalletWasabi.Fluent/Converters/NavBarIconConverter.cs
WalletWasabi.Fluent/Converters/NavBarIconConverter.cs
@@ -16,9 +16,9 @@ namespace WalletWasabi.Fluent.Converters
object? IValueConverter.Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
- if (value is NavBarItemViewModel nvivm)
+ if (value is string iconName)
{
- if (Application.Current.Styles.TryGetResource(nvivm.IconName, out object? resource))
+ if (Application.Current.Styles.TryGetResource(iconName, out object? resource))
{
return resource;
}

MODIFY
WalletWasabi.Fluent/Views/HomePageView.axaml
WalletWasabi.Fluent/Views/HomePageView.axaml
<TextBlock Text="{Binding Title}" VerticalAlignment="Bottom" HorizontalAlignment="Center" Margin="0 0 0 15" />
<PathIcon Width="28" Height="28" Opacity="0.8">
<PathIcon.Data>
- <Binding Converter="{x:Static conv:NavBarIconConverter.Instance}" />
+ <Binding Path="IconName" Converter="{x:Static conv:NavBarIconConverter.Instance}" />
</PathIcon.Data>
</PathIcon>
</Panel>

MODIFY
WalletWasabi.Fluent/Views/NavBar/NavBar.axaml
WalletWasabi.Fluent/Views/NavBar/NavBar.axaml
<Panel Width="45" HorizontalAlignment="Left">
<PathIcon HorizontalAlignment="Left">
<PathIcon.Data>
- <Binding Path="." Converter="{x:Static conv:NavBarIconConverter.Instance}" />
+ <Binding Path="IconName" Converter="{x:Static conv:NavBarIconConverter.Instance}" />
</PathIcon.Data>
</PathIcon>
</Panel>
<Panel Width="45" HorizontalAlignment="Center" ToolTip.Tip="{Binding Title}">
<PathIcon HorizontalAlignment="Left">
<PathIcon.Data>
- <Binding Path="." Converter="{x:Static conv:NavBarIconConverter.Instance}" />
+ <Binding Path="IconName" Converter="{x:Static conv:NavBarIconConverter.Instance}" />
</PathIcon.Data>
</PathIcon>
</Panel>
<Panel Width="45" HorizontalAlignment="Left">
<PathIcon HorizontalAlignment="Left">
<PathIcon.Data>
- <Binding Path="." Converter="{x:Static conv:NavBarIconConverter.Instance}" />
+ <Binding Path="IconName" Converter="{x:Static conv:NavBarIconConverter.Instance}" />
</PathIcon.Data>
</PathIcon>
</Panel>

MODIFY
WalletWasabi.Fluent/Views/Search/SearchPageView.axaml
WalletWasabi.Fluent/Views/Search/SearchPageView.axaml
<Panel>
<PathIcon Width="20" Height="20" Opacity="0.8" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="12,12,0,0">
<PathIcon.Data>
- <Binding Converter="{x:Static conv:NavBarIconConverter.Instance}" />
+ <Binding Path="IconName" Converter="{x:Static conv:NavBarIconConverter.Instance}" />
</PathIcon.Data>
</PathIcon>
<TextBlock Text="{Binding Title}" Classes="h7 bold" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="48 14 0 0" />

Use IconName for binding so we get property updates propagated