Advertisement
Guest User

Untitled

a guest
Sep 24th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. <Window x:Class="ListViewIssue.MainWindow"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. Title="MainWindow" Height="350" Width="525">
  5. <Grid>
  6. <Grid.RowDefinitions>
  7. <RowDefinition></RowDefinition>
  8. <RowDefinition Height="50"></RowDefinition>
  9. </Grid.RowDefinitions>
  10. <ListView x:Name="lstNumbers" SelectionMode="Single" ScrollViewer.HorizontalScrollBarVisibility="Disabled" SelectionChanged="lstNumbers_SelectionChanged">
  11. <ListView.ItemTemplate>
  12. <DataTemplate>
  13. <Grid Width="170" Background="Transparent">
  14. <TextBlock HorizontalAlignment="Left" Text="{Binding val, Mode=TwoWay}" TextWrapping="Wrap" Margin="3"/>
  15. </Grid>
  16. </DataTemplate>
  17. </ListView.ItemTemplate>
  18. </ListView>
  19. <Button Name="btnAddItem" Grid.Row="1" Click="btnAddItem_Click">Add Item</Button>
  20. </Grid>
  21. </Window>
  22.  
  23. public partial class MainWindow : Window
  24. {
  25. public class valueClass
  26. {
  27. public int val { get; set; }
  28. }
  29. private List<valueClass> list;
  30. private int counter;
  31.  
  32. public MainWindow()
  33. {
  34. InitializeComponent();
  35. CreateList();
  36. DisplayList();
  37. }
  38.  
  39. private void CreateList()
  40. {
  41. list = new List<valueClass>();
  42. counter = 8;
  43. for (int i = 0; i < counter; i++)
  44. {
  45. list.Add(new valueClass() { val = i + 1 });
  46. }
  47. }
  48.  
  49. private void lstNumbers_SelectionChanged(object sender, SelectionChangedEventArgs e)
  50. {
  51. if (lstNumbers.SelectedIndex != -1)
  52. {
  53. list.Remove(lstNumbers.SelectedValue as valueClass);
  54. DisplayList();
  55. }
  56. }
  57.  
  58. private void DisplayList()
  59. {
  60. this.lstNumbers.ItemsSource = null;
  61. this.lstNumbers.ItemsSource = list;
  62. }
  63.  
  64. private void btnAddItem_Click(object sender, RoutedEventArgs e)
  65. {
  66. list.Add(new valueClass() { val = counter++ + 1 });
  67. DisplayList();
  68. }
  69. }
  70.  
  71. private void lstNumbers_SelectionChanged(object sender, SelectionChangedEventArgs e)
  72. {
  73. if (lstNumbers.SelectedIndex != -1)
  74. {
  75. lstNumbers.SelectionChanged-=lstNumbers_SelectionChanged;
  76. list.Remove(lstNumbers.SelectedValue as valueClass);
  77. DisplayList();
  78. lstNumbers.SelectionChanged+=lstNumbers_SelectionChanged;
  79. }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement