C# 从WPF中的列表框中获取单击的元素

C# 从WPF中的列表框中获取单击的元素,c#,.net,wpf,xaml,windows-phone-7,C#,.net,Wpf,Xaml,Windows Phone 7,我有一个带有数据模板的列表框 <Button Name="ButtonSortDate" Content="Date" Grid.Column="1" Click="ButtonSortDateClick" /> <Button Name="ButtonSortABC" Content="ABC.." Grid.Column="2" Click="ButtonSortABCClick" /> <!--ItemsSource="{Binding NotesCollec

我有一个带有数据模板的列表框

<Button Name="ButtonSortDate" Content="Date" Grid.Column="1" Click="ButtonSortDateClick" />
<Button Name="ButtonSortABC" Content="ABC.." Grid.Column="2" Click="ButtonSortABCClick" />
<!--ItemsSource="{Binding NotesCollection}"-->
<ListBox Name="ListBoxNotes" 
    Grid.Row="1" Grid.ColumnSpan="3"                             
    DoubleTap="DeleteDoubleTap">
    <ListBox.ItemTemplate>                            
        <DataTemplate>
            <StackPanel Margin="0,0,0,17" Width="432" Height="78" >
                <TextBlock Text="{Binding NoteText}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}" />
                <TextBlock Text="{Binding Date}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

我希望能够点击列表中的某个项目来删除它,但我找不到任何方法来获取单击的项目,只有选中的项目(不总是相同的)

例如,如果我点击列表中的项目1,dobble点击第二个项目,则
列表框。SelectedItem
将是第一个项目


如何获得第2项?如果我能在模板中以某种方式在项目本身上放置一个事件,那就太好了,
e.OriginalSource
应该是项目中的某个元素(例如,
TextBlocks
),它的项目名为
DataContext
,因此您应该能够像这样从源集合中删除项目:

var item = (FrameworkElement)e.OriginalSource;
Data.Remove((MyItemType)item.DataContext);

你是说“在WindowsPhone7上”吗?首先,WPF中不存在双击功能。。。在WPF中,使用事件路由或
EventSetters
将非常容易,但我怀疑这些解决方案是否适用于WP7。很好,您是否有机会编辑这篇文章,以便我对其进行投票?单击错误:(