2012-02-08 9 views
0

ListBox이고 UserControl은 ListBoxItem입니다. 사용자 콘트롤을 클릭하면 ListBox.SelectionChanged이 해고되지 않습니다 (해고되기를 원합니다). 어떻게합니까?ListBox.SelectionChanged는 listboxItem 내 userControl을 클릭 할 때

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> 

감사합니다.

답변

0

마우스 클릭을 처리하는 DataTemplate에서 컨트롤 (예 : 키보드 포커스를 가져 오는 TextBox)을 사용하면 ListBox에서 이러한 이벤트를 수신하지 못하게됩니다.

당신은 단순히 false로 IsHitTestVisible를 설정하여 컨트롤에서 처리 마우스 이벤트를 비활성화 할 수 있습니다 :

<ListBox.ItemTemplate> 
    <DataTemplate> 
     <my:Message IsHitTestVisible="False" .../> 
    </DataTemplate> 
</ListBox.ItemTemplate> 
관련 문제