我已将 Interaction.Triggers 设置为 ListBox,并在发生“SelectionChanged”事件时执行相应的 TargetedTriggerAction,如下所示。
<ListBox x:Name="WorksheetListBox" ItemsSource="{Binding WorkSheetCollection}"
ItemTemplate="{StaticResource workSheetTemplate}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<action:WorksheetListBoxAction />
</i:EventTrigger>
</i:Interaction.Triggers>
</ListBox>
但我的要求是我需要将 Interaction.Triggers 设置为 ListBoxItem 的“PreviewMouseDown”事件(注意:通过 ItemsSource 填充 ListBox)
您可以通过 ListBoxItem 上的 PreviewMouseDown 事件来完成
<ListBox ItemsSource="{StaticResource Data}">
<ListBox.ItemTemplate>
<DataTemplate>
<Button Name="TaskButton" Content="{Binding}" />
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<EventSetter Event="PreviewMouseDown"
Handler="ItemOnPreviewMouseDown" />
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
private void ItemOnPreviewMouseDown(
object sender, MouseButtonEventArgs e)
{
((ListBoxItem) sender).IsSelected = true;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)