diff --git a/YKanBan.Tests/ViewModels/BoardViewModelTests.cs b/YKanBan.Tests/ViewModels/BoardViewModelTests.cs
index 66ae428..ae8832d 100644
--- a/YKanBan.Tests/ViewModels/BoardViewModelTests.cs
+++ b/YKanBan.Tests/ViewModels/BoardViewModelTests.cs
@@ -456,6 +456,13 @@ public class BoardViewModelTests
Assert.AreEqual(1, fixture.Repository.GetTags().Count);
}
+ [TestMethod]
+ public void TagBadgeShowsNoTooltipForAnEmptyDescription()
+ {
+ Assert.IsNull(new TagBadgeViewModel(new TagModel(1, "bug", new RgbColor(1, 2, 3), "")).ToolTip);
+ Assert.AreEqual("why", new TagBadgeViewModel(new TagModel(1, "bug", new RgbColor(1, 2, 3), "why")).ToolTip);
+ }
+
[TestMethod]
public void TagPickerHidesAssignedTagsAndFiltersCaseInsensitively()
{
diff --git a/YKanBan/ViewModels/Board/TagBadgeViewModel.cs b/YKanBan/ViewModels/Board/TagBadgeViewModel.cs
index e72c46a..c5acaf3 100644
--- a/YKanBan/ViewModels/Board/TagBadgeViewModel.cs
+++ b/YKanBan/ViewModels/Board/TagBadgeViewModel.cs
@@ -37,6 +37,12 @@ public sealed class TagBadgeViewModel : ViewModelBase
///
public string Description => Tag.Description;
+ ///
+ /// Gets the badge tooltip: the description, or (no
+ /// tooltip at all) when the description is empty.
+ ///
+ public string? ToolTip => Tag.Description.Length > 0 ? Tag.Description : null;
+
///
/// Gets the badge fill: the tag's own color.
///
diff --git a/YKanBan/Views/Dialogs/CardEditorDialog.axaml b/YKanBan/Views/Dialogs/CardEditorDialog.axaml
index 59d37fb..0d92472 100644
--- a/YKanBan/Views/Dialogs/CardEditorDialog.axaml
+++ b/YKanBan/Views/Dialogs/CardEditorDialog.axaml
@@ -45,7 +45,7 @@
+ Margin="0,0,6,6" ToolTip.Tip="{Binding ToolTip}">