Fixes #3317. Listvew mouse event doesn't cause a SelectedItemChanged event to fire

This commit is contained in:
BDisp
2024-03-13 21:17:35 +00:00
parent deb601ec63
commit 157a32312b
2 changed files with 19 additions and 2 deletions

View File

@@ -545,5 +545,24 @@ Item 6", output);
tem 3
tem 4", output);
}
[Fact]
public void SelectedItemChanged_Event_Is_Also_Fired_With_AllowsMarking_True_By_Keyboard_Or_Mouse ()
{
var itemChanged = 0;
var lv = new ListView (new List<string> () { "Item1", "Item2", "Item3" }) { Width = 5, Height = 3, AllowsMarking = true };
lv.SelectedItemChanged += (e) => itemChanged = e.Item;
Assert.Equal (0, lv.SelectedItem);
Assert.Equal (lv.SelectedItem, itemChanged);
Assert.True (lv.ProcessKey (new KeyEvent (Key.CursorDown, new KeyModifiers())));
Assert.Equal (1, lv.SelectedItem);
Assert.Equal (lv.SelectedItem, itemChanged);
Assert.True (lv.MouseEvent (new MouseEvent(){ X = 0, Y = 2, Flags = MouseFlags.Button1Clicked}));
Assert.Equal (2, lv.SelectedItem);
Assert.Equal (lv.SelectedItem, itemChanged);
}
}
}