2012-02-08 6 views
0

私はListBoxとUserControlがListBoxItemの中にあります。 ユーザーコントロールをクリックしたときにListBox.SelectionChangedが発砲しませんでした(私は解雇したい)。ListBoxItem内のuserControlをクリックしたときの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> 

感謝。

答えて

0

マウスクリックを処理するDataTemplate(キーボードフォーカスを取得するTextBoxなど)でコントロールを使用すると、ListBoxがこれらのイベントを受信できなくなります。

あなたは、単にfalseにIsHitTestVisibleを設定することで、あなたのコントロールでハンドリングマウスイベントを無効にできます。

<ListBox.ItemTemplate> 
    <DataTemplate> 
     <my:Message IsHitTestVisible="False" .../> 
    </DataTemplate> 
</ListBox.ItemTemplate> 
関連する問題