Skip to content

Commit 1c8d4d3

Browse files
committed
fix: SelectableTextBlock does not re-draw after Text property changed (#906)
1 parent c8aecc0 commit 1c8d4d3

File tree

2 files changed

+32
-12
lines changed

2 files changed

+32
-12
lines changed

src/Views/CommitBaseInfo.axaml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@
2020
<StackPanel Grid.Column="1" Margin="16,0,8,0" Orientation="Vertical">
2121
<TextBlock Classes="group_header_label" Margin="0" Text="{DynamicResource Text.CommitDetail.Info.Author}"/>
2222
<Grid Margin="0,10,0,8" ColumnDefinitions="Auto,*" ClipToBounds="True">
23-
<SelectableTextBlock Grid.Column="0" Text="{Binding Author.Name}" Margin="2,0,8,0"/>
24-
<SelectableTextBlock Grid.Column="1" Text="{Binding Author.Email}" ToolTip.Tip="{Binding Author.Email}" Foreground="{DynamicResource Brush.FG2}" TextTrimming="CharacterEllipsis"/>
23+
<v:EnhancedSelectableTextBlock Grid.Column="0" Text="{Binding Author.Name}" Margin="2,0,8,0"/>
24+
<v:EnhancedSelectableTextBlock Grid.Column="1" Text="{Binding Author.Email}" ToolTip.Tip="{Binding Author.Email}" Foreground="{DynamicResource Brush.FG2}" TextTrimming="CharacterEllipsis"/>
2525
</Grid>
26-
<SelectableTextBlock Text="{Binding AuthorTimeStr}"
27-
Margin="2,0,0,0"
28-
FontSize="{Binding Source={x:Static vm:Preferences.Instance}, Path=DefaultFontSize, Converter={x:Static c:DoubleConverters.Decrease}}"
29-
Foreground="{DynamicResource Brush.FG2}"/>
26+
<v:EnhancedSelectableTextBlock Text="{Binding AuthorTimeStr}"
27+
Margin="2,0,0,0"
28+
FontSize="{Binding Source={x:Static vm:Preferences.Instance}, Path=DefaultFontSize, Converter={x:Static c:DoubleConverters.Decrease}}"
29+
Foreground="{DynamicResource Brush.FG2}"/>
3030
</StackPanel>
3131
</Grid>
3232

@@ -36,13 +36,13 @@
3636
<StackPanel Grid.Column="1" Margin="16,0,8,0" Orientation="Vertical">
3737
<TextBlock Classes="group_header_label" Margin="0" Text="{DynamicResource Text.CommitDetail.Info.Committer}"/>
3838
<Grid Margin="0,10,0,8" ColumnDefinitions="Auto,*" ClipToBounds="True">
39-
<SelectableTextBlock Grid.Column="0" Text="{Binding Committer.Name}" Margin="2,0,8,0"/>
40-
<SelectableTextBlock Grid.Column="1" Text="{Binding Committer.Email}" ToolTip.Tip="{Binding Committer.Email}" Foreground="{DynamicResource Brush.FG2}" TextTrimming="CharacterEllipsis"/>
39+
<v:EnhancedSelectableTextBlock Grid.Column="0" Text="{Binding Committer.Name}" Margin="2,0,8,0"/>
40+
<v:EnhancedSelectableTextBlock Grid.Column="1" Text="{Binding Committer.Email}" ToolTip.Tip="{Binding Committer.Email}" Foreground="{DynamicResource Brush.FG2}" TextTrimming="CharacterEllipsis"/>
4141
</Grid>
42-
<SelectableTextBlock Text="{Binding CommitterTimeStr}"
43-
Margin="2,0,0,0"
44-
FontSize="{Binding Source={x:Static vm:Preferences.Instance}, Path=DefaultFontSize, Converter={x:Static c:DoubleConverters.Decrease}}"
45-
Foreground="{DynamicResource Brush.FG2}"/>
42+
<v:EnhancedSelectableTextBlock Text="{Binding CommitterTimeStr}"
43+
Margin="2,0,0,0"
44+
FontSize="{Binding Source={x:Static vm:Preferences.Instance}, Path=DefaultFontSize, Converter={x:Static c:DoubleConverters.Decrease}}"
45+
Foreground="{DynamicResource Brush.FG2}"/>
4646
</StackPanel>
4747
</Grid>
4848
</UniformGrid>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
using System;
2+
3+
using Avalonia;
4+
using Avalonia.Controls;
5+
6+
namespace SourceGit.Views
7+
{
8+
public class EnhancedSelectableTextBlock : SelectableTextBlock
9+
{
10+
protected override Type StyleKeyOverride => typeof(SelectableTextBlock);
11+
12+
protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)
13+
{
14+
base.OnPropertyChanged(change);
15+
16+
if (change.Property == TextProperty)
17+
UpdateLayout();
18+
}
19+
}
20+
}

0 commit comments

Comments
 (0)