ListBox.SelectionChanged при нажатии на элемент управления пользователя внутри listboxItem - PullRequest
0 голосов
/ 08 февраля 2012

У меня есть ListBox и UserControl внутри ListBoxItem. Когда я нажимаю на пользовательский элемент управления, ListBox.SelectionChanged не срабатывает (я хочу, чтобы он был запущен). Я делаю это?

XAML:

<ListBox x:Name="List" HorizontalAlignment="Stretch" 
         VerticalAlignment="Stretch"
         Foreground="Transparent" 
         BorderBrush="Transparent" 
         Background="Transparent" 
         SelectionMode="Multiple" Grid.Row="2"                       
         SelectionChanged="List_SelectionChanged" >
    <ListBox.ItemTemplate>
        <DataTemplate>
            <my:Message HorizontalAlignment="Left" .../>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

Спасибо.

1 Ответ

0 голосов
/ 08 февраля 2012

Если в вашем DataTemplate используется элемент управления, который обрабатывает щелчки мыши (например, TextBox, который получает фокус клавиатуры), это предотвратит получение этих событий ListBox.

Вы можете просто отключить обработку событий мыши вваш контроль, установив IsHitTestVisible в false:

<ListBox.ItemTemplate>
    <DataTemplate>
        <my:Message IsHitTestVisible="False" .../>
    </DataTemplate>
</ListBox.ItemTemplate>
...