我试图在Silverlight中使用ItemsControl。实际上,我正在创建一个项目列表,用户可以在每个项目上分别看到悬停的推销图标。如果用户点击了一个图钉,我就必须将这个项目添加到另一个列表中,也就是说,我必须在items控件中获取当前的项目,用户已经点击了图钉。
<ItemsControl ItemsSource="{Binding Path=BreadcrumbTrail}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Padding="2,0,0,0" Text="{Binding Path=BreadcrumbPlace}" HorizontalAlignment="Center" FontStretch="Expanded" Foreground="#FF9B9B9B" FontFamily="Verdana" FontSize="14" />
<TextBlock Padding="3,0,0,0" Text=" >" HorizontalAlignment="Center" Foreground="#FFDBDBDB" FontStretch="Expanded" FontFamily="Verdana" FontSize="14" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
现在如何显示推针悬停和如何获得当前项目。
您可以在数据模板中声明一个带有pin图标的不可见按钮。然后,您可以将该按钮的可视性属性绑定到项目类的某些属性,并在触发MouseOver
事件时更改该属性的值。您很可能需要自定义转换器