🍉
WPF、ComboBoxのGotFocusイベント
WPF、ComboBoxのGotFocusイベントは、ComboBox自体と、それに含まれるComboBoxItemに発生します。
<ComboBox GotFocus="ComboBox_GotFocus">
<ComboBoxItem>Test Item1</ComboBoxItem>
<ComboBoxItem>Test Item2</ComboBoxItem>
<ComboBoxItem>Test Item3</ComboBoxItem>
</ComboBox>
次のように、typeを判別して、それぞれ処理できます。
private void ComboBox_GotFocus(object sender, RoutedEventArgs e)
{
var type = e.OriginalSource.GetType();
if (type == typeof(ComboBox))
{
Debug.WriteLine("ComboBox Foucus");
}
else if (type == typeof(ComboBoxItem))
{
Debug.WriteLine("ComboBoxItem Foucus");
Debug.WriteLine(((ComboBoxItem)e.OriginalSource).Content);
}
}
.NET5, WPF
Discussion