MouseInfo

Silverlight is missing a lot. One of the things that is missing are decent mouse events such as IsMouseOver. To implement such behavior, the MouseInfo behavior is created. It supports several mouse events (even in Silverlight!).

OnMouseOver

 1) Add the following XML namespaces:

xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:catel="http://catel.codeplex.com"

2) Use the following definition:

<ListBox ItemsSource="{Binding PersonCollection}" SelectedItem="{Binding SelectedPerson}">
    <i:Interaction.Behaviors>
        <catel:MouseInfo x:Name="personCollectionMouseInfo" />
    </i:Interaction.Behaviors>
</ListBox>

3) Now, it is easy to bind to the mouse information like this (textblock will become visible when the listbox is hovered):

<TextBlock Visibility="{Binding ElementName=personCollectionMouseInfo, Path=IsMouseOver, Converter={StaticResource BooleanToCollapsingVisibilityConverter}, ConverterParameter=false}" Text="Hovering listbox" />