|
|
|
|
using ListSample.Converter;
|
|
|
|
|
using ListSample.Model;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.ComponentModel;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using System.Windows;
|
|
|
|
|
using System.Windows.Controls;
|
|
|
|
|
using System.Windows.Data;
|
|
|
|
|
using System.Windows.Documents;
|
|
|
|
|
using System.Windows.Input;
|
|
|
|
|
using System.Windows.Media;
|
|
|
|
|
using System.Windows.Media.Imaging;
|
|
|
|
|
using System.Windows.Navigation;
|
|
|
|
|
using System.Windows.Shapes;
|
|
|
|
|
|
|
|
|
|
namespace ListSample
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// MainWindow.xaml에 대한 상호 작용 논리
|
|
|
|
|
/// </summary>
|
|
|
|
|
public partial class MainWindow : Window
|
|
|
|
|
{
|
|
|
|
|
public MainWindow()
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void btnDelete_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
Button button = sender as Button;
|
|
|
|
|
if (button == null)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
if (!(button.DataContext is Student))
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
Student student = (Student)button.DataContext;
|
|
|
|
|
_studentList.Remove(student);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void btnGroup_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
ICollectionView list = CollectionViewSource.GetDefaultView(_studentList);
|
|
|
|
|
if (list.GroupDescriptions.Count == 0)
|
|
|
|
|
list.GroupDescriptions.Add(new PropertyGroupDescription("Age", new AgeToRangeConverter()));
|
|
|
|
|
else
|
|
|
|
|
list.GroupDescriptions.Clear();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|