我在列表框中有列表框项,这些列表框项是从可观察的集合中动态填充的,我正在尝试使用交互触发器来触发列表框项的“已选择”事件来启动操作,以便我可以绑定到即将到来的项目来自可观察的集合。
我遇到的问题是我似乎可以使用事件触发器访问“选定”事件。
这是代码:
<ListBox x:Name="AssocitedLayerListControl" Background="Transparent" BorderBrush="Transparent" ItemContainerStyle="{StaticResource ListBoxItemStyle}"
ScrollViewer.VerticalScrollBarVisibility="Hidden" ScrollViewer.HorizontalScrollBarVisibility="Auto"
VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="10,0,10,0" Padding="0" Height="25" Width="Auto" >
<!-- Attribute Table Item Template-->
<ListBox.ItemTemplate>
<DataTemplate>
<ContentControl>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0">
<TextBlock Text="{Binding Path=Key}"
Foreground="#FFFFFFFF"
FontSize="10" LineHeight="20"
HorizontalAlignment="Left" VerticalAlignment="Center"
Margin="5,0,5,0" Padding="0" />
<Button BorderBrush="#FFFFFFFF" BorderThickness="1" Background="#FF000000"
HorizontalAlignment="Left" VerticalAlignment="Top"
Padding="1" Margin="0,1,0,1" Style="{StaticResource CloseItemStyle}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<actions:RemoveLayer LayerName="{Binding Path=Key}" TargetGraphicsLayer="{Binding Path=Value}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
</StackPanel>
<i:Interaction.Triggers>
<i:EventTrigger EventName="Selected" SourceObject="{Binding RelativeSource={RelativeSource Mode=TemplatedParent, AncestorType=ListBoxItem}}">
<actions:SetGraphicLayerInGrid LayerName="{Binding Path=Key}" TargetGraphicsLayer="{Binding Path=Value}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</ContentControl>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>