2012-12-21 102 views
0

删除列表框中的项目我有一个代表一首歌的模板:通过按钮

<DataTemplate x:Key="songTemplate" DataType="local:song"> 
     <Border BorderBrush="Gray" BorderThickness="1" Padding="2"> 
      <Grid> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="auto"/> 
        <RowDefinition Height="auto"/> 
        <RowDefinition Height="auto"/> 
       </Grid.RowDefinitions> 
       <Grid Name="songGrid" Grid.Row="0"> 
        <Grid.RowDefinitions> 
         <RowDefinition Height="auto"/> 
         <RowDefinition Height="auto"/> 
         <RowDefinition Height="auto"/> 
        </Grid.RowDefinitions> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="auto"/> 
         <ColumnDefinition Width="*"/> 
         <ColumnDefinition Width="auto"/> 
         <ColumnDefinition Width="*"/> 
        </Grid.ColumnDefinitions> 
        <TextBlock Grid.Column="0" Grid.Row="0" Text="title: "/> 
        <TextBlock Grid.Column="1" Grid.Row="0" Text="{Binding Path=title}"/> 
        <TextBlock Grid.Column="2" Grid.Row="0" Text="artist: "/> 
        <TextBlock Grid.Column="3" Grid.Row="0" Text="{Binding Path=artist}"/> 
        <TextBlock Grid.Column="0" Grid.Row="1" Text="path: "/> 
        <TextBlock Grid.Column="1" Grid.Row="1" Text="{Binding Path=path}"/> 
        <TextBlock Grid.Column="2" Grid.Row="1" Text="status: "/> 
        <TextBlock Grid.Column="3" Grid.Row="1" Text="{Binding Path=stat}"/> 
       </Grid> 
       <Grid Grid.Row="1"> 
        <Expander Margin="2" Padding="2" BorderBrush="Gray" BorderThickness="1" ExpandDirection="Down" > 
         <TextBlock Width="400" Text="{Binding Path=statInfo}" TextWrapping="Wrap"/> 
        </Expander> 
       </Grid> 
       <Grid Grid.Row="2"> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="*"/> 
         <ColumnDefinition Width="*"/> 
        </Grid.ColumnDefinitions> 
        <Button VerticalAlignment="Center" Grid.Column="0"> 
         <Image Source="pictures/check.gif"/> 
        </Button> 
        <Button Name="Cancel" VerticalAlignment="Center" Grid.Column="1" Click="DontSave"> 
         <Image Source="pictures/cross.gif"/> 
        </Button> 
       </Grid> 
      </Grid> 
     </Border> 
    </DataTemplate> 

我在后面我的代码添加歌曲到observebalecollction,和歌曲的列表框更新。 该模板有两个按钮。其中一人需要从列表中删除歌曲。 我想找到一种方法来从列表中删除歌曲与选定的项目,但是当按钮被点击时,该项目未被选中。

任何想法如何删除它?

回答

0

试试这个你ClickEventHandler:

void DontSave(object sender, RoutedEventArgs e) 
    { 
     song s = ((FrameworkElement)sender).DataContext as song; 
     if (s != null && songCollection.Contains(s)) songCollection.Remove(s); 
    } 
+0

,完美的工作!非常感谢!! – alostr