Skip to content

Commit 42bc25f

Browse files
authored
Fix: Fixed issue with tab icon not loading properly (#11328)
1 parent 6922c25 commit 42bc25f

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed
Binary file not shown.

src/Files.App/UserControls/MultitaskingControl/HorizontalMultitaskingControl.xaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@
234234
Margin="{ThemeResource TabViewItemHeaderIconMargin}">
235235
<ContentControl
236236
x:Name="IconControl"
237-
Content="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TabViewTemplateSettings.IconElement}"
237+
Content="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TabViewTemplateSettings.IconElement, Mode=OneWay}"
238238
Foreground="{ThemeResource TabViewItemIconForeground}"
239239
HighContrastAdjustment="None"
240240
IsTabStop="False" />
@@ -609,6 +609,7 @@
609609
Header="{x:Bind Header, Mode=OneWay}"
610610
IconSource="{x:Bind IconSource, Mode=OneWay}"
611611
Style="{StaticResource Local.TabViewItem}"
612+
Loaded="TabViewItem_Loaded"
612613
ToolTipService.ToolTip="{x:Bind ToolTipText, Mode=OneWay}" />
613614
</DataTemplate>
614615
</TabView.TabItemTemplate>

src/Files.App/UserControls/MultitaskingControl/HorizontalMultitaskingControl.xaml.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using CommunityToolkit.WinUI.UI;
12
using Files.App.Extensions;
23
using Files.App.Helpers;
34
using Files.App.ViewModels;
@@ -8,6 +9,7 @@
89
using System.Linq;
910
using Windows.ApplicationModel.DataTransfer;
1011
using Windows.Storage;
12+
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Tab;
1113

1214
// The User Control item template is documented at https://go.microsoft.com/fwlink/?LinkId=234236
1315

@@ -235,5 +237,18 @@ public Visibility TabStripVisibility
235237
DependencyProperty.Register("TabStripVisibility", typeof(Visibility), typeof(HorizontalMultitaskingControl), new PropertyMetadata(Visibility.Visible));
236238

237239
public Rectangle DragArea => DragAreaRectangle;
240+
241+
private void TabViewItem_Loaded(object sender, RoutedEventArgs e)
242+
{
243+
if (sender is TabViewItem tvi && tvi.FindDescendant("IconControl") is ContentControl control)
244+
{
245+
control.Content = (tvi.IconSource as ImageIconSource).CreateIconElement();
246+
tvi.RegisterPropertyChangedCallback(TabViewItem.IconSourceProperty, (s, args) =>
247+
{
248+
if (s is TabViewItem tabViewItem && tabViewItem.FindDescendant("IconControl") is ContentControl iconControl)
249+
iconControl.Content = (tabViewItem.IconSource as ImageIconSource).CreateIconElement();
250+
});
251+
}
252+
}
238253
}
239254
}

0 commit comments

Comments
 (0)