ux: use a outer border to hold tooltip of commit message in FileHistories view (#1232)

Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
leo 2025-04-25 18:50:56 +08:00
parent f09367a614
commit d44d2b9770
No known key found for this signature in database
2 changed files with 8 additions and 11 deletions

View file

@ -93,12 +93,9 @@
<TextBlock Grid.Column="3" Classes="primary" Text="{Binding AuthorTimeShortStr}" Foreground="{DynamicResource Brush.FG2}" HorizontalAlignment="Right"/>
</Grid>
<TextBlock Grid.Row="1"
Classes="primary"
Text="{Binding Subject}"
VerticalAlignment="Bottom"
DataContextChanged="OnCommitSubjectDataContextChanged"
PointerMoved="OnCommitSubjectPointerMoved"/>
<Border Grid.Row="1" Background="Transparent" DataContextChanged="OnCommitSubjectDataContextChanged" PointerMoved="OnCommitSubjectPointerMoved">
<TextBlock Classes="primary" Text="{Binding Subject}" VerticalAlignment="Bottom"/>
</Border>
</Grid>
</Border>
</DataTemplate>

View file

@ -62,18 +62,18 @@ namespace SourceGit.Views
private void OnCommitSubjectDataContextChanged(object sender, EventArgs e)
{
if (sender is TextBlock textBlock)
ToolTip.SetTip(textBlock, null);
if (sender is Border border)
ToolTip.SetTip(border, null);
}
private void OnCommitSubjectPointerMoved(object sender, PointerEventArgs e)
{
if (sender is TextBlock { DataContext: Models.Commit commit } textBlock &&
if (sender is Border { DataContext: Models.Commit commit } border &&
DataContext is ViewModels.FileHistories vm)
{
var tooltip = ToolTip.GetTip(textBlock);
var tooltip = ToolTip.GetTip(border);
if (tooltip == null)
ToolTip.SetTip(textBlock, vm.GetCommitFullMessage(commit));
ToolTip.SetTip(border, vm.GetCommitFullMessage(commit));
}
}
}