3

ComboBoxドロップダウン リストがまだ開いている間に、ドロップダウン リストの強調表示された項目の値を取得しようとしています。

ToolTipこれは、強調表示された項目に基づいて、ドロップダウン リスト内のすべての要素に対して異なるものを表示したいためです。

ここでいくつかの情報を見つけました: http://social.msdn.microsoft.com/Forums/vstudio/en-US/822f85e7-524a-4af2-b09a-c88c94971ac0/identifying-the-highlighted-item-in-a-combobox しかし、難しいようで、多くのコードビハインドがあります...

onのIsHighlightedプロパティも使用しようとしました...しかし、強調表示されたアイテムではなく、選択されたアイテムを提供します。ComboBoxItemSelectionChanged

また、次のような関数を使用して、(Databinding を使用して) のToolTipプロパティにバインドするプロパティの取得で、ComboBox 内の要素を循環させようとします。ComboBoxItems

foreach (ComboBoxItem comboBoxItem in comboBox.Items)
{
    if (comboBoxItem.IsHighlighted == true)
    {
        //Do something          
        break;
    }
}

しかし、私はおそらく何か間違ったことをしています.comboBoxItem.IsHighlightedそれは常に間違っているからです...

4

1 に答える 1

2

このリソースのおかげで: http://social.msdn.microsoft.com/Forums/vstudio/en-US/ce14fc29-d320-4557-abc5-81b042730c48/how-to-get-current-combobox-item-on-which -wpf でのマウスオーバー

私はこの解決策を見つけました:

WPF で:

    <ComboBox
        Name="ComboBox1">
       <ComboBox.ItemContainerStyle>
            <Style TargetType="{x:Type ComboBoxItem}">                    
                <EventSetter Event="MouseMove" Handler="OnMouseMove" />                        
            </Style>
        </ComboBox.ItemContainerStyle>
        <ComboBoxItem
            Content="Test1"></ComboBoxItem>
        <ComboBoxItem
            Content="Test2"></ComboBoxItem>
    </ComboBox>

コードビハインド:

private void OnMouseMove(object sender, MouseEventArgs e)
    {
        ComboBoxItem highlightedComboBoxItem = sender as ComboBoxItem;
        // highlightedComboBoxItem  is true
    }  
于 2013-07-13T13:26:19.283 に答える