2017-08-01 19 views
2

リストボックスがあり、リストボックスのデータがsqliteデータベースに取り込まれています。xamlのリストボックスからlistitemを選択

XAML各リストアイテムに存在するdeleteTaskButtonをユーザーがクリックは、listboxitemデータをリストから削除し、次のピボットで別のリストに存在する移動受けるべき

enter image description here

<ListBox x:Name="listBoxobj" Background="Transparent" Margin="6" Height="auto" BorderThickness="2" MaxHeight="580" Grid.Row="1" SelectionChanged="listBoxobj_SelectionChanged"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <Grid Width="330" Height="100" > 
       <Border Margin="5" BorderBrush="White" BorderThickness="1"> 
        <Grid> 
         <Grid.RowDefinitions> 
          <RowDefinition Height="Auto"/> 
          <RowDefinition Height="Auto"/> 
         </Grid.RowDefinitions> 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition Width="50" /> 
          <ColumnDefinition Width="*" /> 
          <ColumnDefinition Width="100" /> 
         </Grid.ColumnDefinitions> 
         <CheckBox Name="Option1CheckBox" Grid.Row="0" Grid.Column="0" IsChecked="{Binding _isComplete}" VerticalAlignment="Center" Margin="5,0,0,0" /> 
         <TextBlock x:Name="NameTxt" Grid.Row="0" Grid.Column="1" TextWrapping="Wrap" Text="{Binding Name}" VerticalAlignment="Center" HorizontalAlignment="Left" FontSize="22" Foreground="White"/> 
         <TextBlock x:Name="Age" Grid.Row="1" Grid.Column="1" TextWrapping="Wrap" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" FontSize="22" Text="{Binding Age}" /> 
         <Button Grid.Row="0" Grid.Column="2" x:Name="deleteTaskButton" BorderThickness="0" Margin="0" Click="deleteTaskButton_Click" Height="18"> 
          <Image Source="/Assets/delete.png"/> 
         </Button> 
        </Grid> 
       </Border> 
      </Grid> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

どうすればいい? 削除ボタンをクリックすると、リストは選択されていませんが、削除アイコンが選択されています。

+0

の名前を使用してデータ型とsecondListBoxobjYourDataTypeを交換してくださいように見えますか? – mcalex

答えて

0

リストビューに含まれるデータのデータ型に関する情報がないためです。私はあなたのdeleteTaskButton_Clickメソッドがどのように見えるべきかを書き留めました。二listboxあなた `deleteTaskButton_Click()`メソッドを何

private void deleteTaskButton_Click(object sender, RoutedEventArgs e) 
    { 
     var dataContext = (sender as Button).DataContext as YourDataType; 
     if (dataContext != null) 
     { 
      //now you have the item that was clicked to delete. 
      var DeleteFromDelete = listBoxobj.ItemsSource as ICollection<YourDataType>; 
      if (DeleteFromDelete != null) 
      { 
       //this removes the item to be removed from the currently viewing listview. 
       DeleteFromDelete.Remove(dataContext); 

       //now add the item that was deleted into the other listview. 
       var TobeAddedIntoList = secondListBoxobj.ItemsSource as ICollection<YourDataType>; 
       if (TobeAddedIntoList != null) 
        TobeAddedIntoList.Add(dataContext); 
      } 
     } 
    } 
関連する問題