🍉

WPF、ComboBoxのGotFocusイベント

2021/04/15に公開

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