関連する Xaml が含まれていないため、ListItem_MouseEnter がどのイベントのハンドラーであるかを判断するのは困難です。ListBoxItem の MouseEnter イベントのハンドラーである場合、送信者はグリッドではありません。
MouseOver で ListBoxItem の ZIndex を変更するには、Xaml と以下のコードが機能します。
Page.xaml
<UserControl x:Class="SilverlightApplication1.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300">
<Grid x:Name="LayoutRoot" Background="White">
<ListBox x:Name="ListBox1">
<ListBoxItem Content="Test 1" MouseEnter="ListBoxItem_MouseEnter" />
<ListBoxItem Content="Test 2" MouseEnter="ListBoxItem_MouseEnter" />
<ListBoxItem Content="Test 3" MouseEnter="ListBoxItem_MouseEnter" />
<ListBoxItem Content="Test 4" MouseEnter="ListBoxItem_MouseEnter" />
</ListBox>
</Grid>
</UserControl>
Page.xaml.cs:
using System;
using System.Windows.Controls;
using System.Windows.Input;
namespace SilverlightApplication1
{
public partial class Page : UserControl
{
public Page()
{
InitializeComponent();
}
private void ListBoxItem_MouseEnter(object sender, MouseEventArgs e)
{
ListBoxItem listBoxItem = (ListBoxItem)sender;
listBoxItem.SetValue(Canvas.ZIndexProperty, 5);
}
}
}
イベント ハンドラーは、送信者が ListBoxItem であることを意味する各 ListBoxItem の MouseEnter イベントに対応していることに注意してください。
ListBoxItem_MouseEnter メソッドは、MouseEnter で Zindex を 5 に変更します。これは、 Silverlight Spyを使用して検証されています。