Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Filipenya_Katerina / Отчёт 3

.docx
Скачиваний:
7
Добавлен:
11.05.2015
Размер:
30.94 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

Учреждение Образования

«Белорусский Государственный Университет Информатики и Радиоэлектроники»

кафедра информатики

Инструменты и средства программирования

Отчёт по лабораторной работе №3

Выполнила: студентка гр. 152002

Филипеня Екатерина Дмитриевна

Проверил:

Тычко Дмитрий Николаевич

Минск 2013

Задание

1. В Проекте необходимо реализовать привязку данных к элементам интерфейса.

2. Создать оригинальный визуальный стиль окна и некоторых элементов управления.

3. Разработать несколько (минимум 3) шаблонов для элементов управления и данных.

4. Реализовать в проекте элементы 2D-графики (можно представить график или диаграмму, построенную по неким данным проекта; нарисовать логотип или векторный рисунок).

Листинг

namespace Second_Lab

{

/// <summary>

/// Логика взаимодействия для MainWindow.xaml

/// </summary>

public partial class MainWindow : Window

{

private List<Film> films;

private FilmComponents filmcom;

private GenreComponents genrecom;

private DirectorComponents dircom;

public MainWindow()

{

InitializeComponent();

dataGridCatalogue.CanUserAddRows = false;

filmcom = new FilmComponents();

genrecom = new GenreComponents();

films = new List<Film>();

dircom = new DirectorComponents();

}

private void SearchWithName(string name)

{

dataGridCatalogue.ItemsSource = null;

films.Clear();

foreach (var film in filmcom.Search(name))

{

films.Add(film);

}

dataGridCatalogue.ItemsSource = films;

}

private void SearchWithGenre(Guid id)

{

dataGridCatalogue.ItemsSource = null;

films.Clear();

foreach (var film in filmcom.ChoiceByGenre(genrecom.Read(id)))

{

films.Add(film);

}

dataGridCatalogue.ItemsSource = films;

}

private void SearchWithDirector(Guid id)

{

dataGridCatalogue.ItemsSource = null;

films.Clear();

foreach (var film in filmcom.ChoiceByDirector(dircom.Read(id)))

{

films.Add(film);

}

dataGridCatalogue.ItemsSource = films;

}

private void Updatetable()

{

dataGridCatalogue.ItemsSource = null;

films.Clear();

dataGridCatalogue.ItemsSource = filmcom.ReadAll();

}

private void Button_Click(object sender, RoutedEventArgs e)

{

Updatetable();

}

private void Button_Click_1(object sender, RoutedEventArgs e)

{

SearchNameWindow namewind = new SearchNameWindow();

namewind.Show();

namewind.BtnClicked += new SearchNameWindow.GetFilmName(SearchWithName);

}

private void Button_Click_2(object sender, RoutedEventArgs e)

{

SearchGenreWindow genrewind = new SearchGenreWindow();

genrewind.Show();

genrewind.BtnClicked += new SearchGenreWindow.GetGenreNum(SearchWithGenre);

}

private void Button_Click_3(object sender, RoutedEventArgs e)

{

SearchDirectorWindow directorwind = new SearchDirectorWindow();

directorwind.Show();

directorwind.BtnClicked += new SearchDirectorWindow.GetDirectorName(SearchWithDirector);

}

private void Button_Click_4(object sender, RoutedEventArgs e)

{

dataGridCatalogue.ItemsSource = null;

films.Clear();

foreach (var film in filmcom.Rating())

{

films.Add(film);

}

dataGridCatalogue.ItemsSource = films;

}

private void Button_Click_5(object sender, RoutedEventArgs e)

{

dataGridCatalogue.ItemsSource = null;

films.Clear();

foreach (var film in filmcom.TopFilms())

{

films.Add(film);

}

dataGridCatalogue.ItemsSource = films;

}

private void Button_Click_6(object sender, RoutedEventArgs e)

{

AddWindow addwind = new AddWindow();

addwind.Show();

addwind.BtnClicked += new AddWindow.UpdateTable(Updatetable);

}

private void Button_Click_7(object sender, RoutedEventArgs e)

{

DeleteWindow deletewind = new DeleteWindow();

deletewind.Show();

deletewind.BtnClicked += new DeleteWindow.UpdateTable(Updatetable);

}

private void Button_Click_8(object sender, RoutedEventArgs e)

{

UpdateWindow updatewind = new UpdateWindow();

updatewind.Show();

updatewind.BtnClicked += new UpdateWindow.UpdateTable(Updatetable);

}

}

}

namespace Second_Lab

{

/// <summary>

/// Логика взаимодействия для UpdateWindow.xaml

/// </summary>

public partial class UpdateWindow : Window

{

private FilmComponents filmcom;

public delegate void UpdateTable();

public event UpdateTable BtnClicked;

public UpdateWindow()

{

InitializeComponent();

filmcom = new FilmComponents();

lbname.ItemsSource = filmcom.ReadAll();

}

private void btnsavechanges_Click(object sender, RoutedEventArgs e)

{

filmcom.Update(((Film)lbname.SelectedItem)._ID, (Film)lbname.SelectedItem);

BtnClicked();

this.Close();

}

}

}

namespace Second_Lab

{

/// <summary>

/// Логика взаимодействия для AddWindow.xaml

/// </summary>

public partial class AddWindow : Window

{

private FilmComponents filmcom;

public delegate void UpdateTable();

public event UpdateTable BtnClicked;

public AddWindow()

{

InitializeComponent();

filmcom = new FilmComponents();

}

private void btnadd_Click(object sender, RoutedEventArgs e)

{

filmcom.Create((Film)this.Resources["NewFilm"]);

BtnClicked();

this.Close();

}

}

}

namespace Second_Lab

{

/// <summary>

/// Логика взаимодействия для DeleteWindow.xaml

/// </summary>

public partial class DeleteWindow : Window

{

private FilmComponents filmcom;

public delegate void UpdateTable();

public event UpdateTable BtnClicked;

public DeleteWindow()

{

InitializeComponent();

filmcom = new FilmComponents();

lbname.ItemsSource = filmcom.ReadAll();

}

private void btndelete_Click(object sender, RoutedEventArgs e)

{

filmcom.Delete(((Film)lbname.SelectedItem)._ID);

BtnClicked();

this.Close();

}

}

}

namespace Second_Lab

{

/// <summary>

/// Логика взаимодействия для SearchNameWindow.xaml

/// </summary>

public partial class SearchNameWindow : Window

{

public delegate void GetFilmName(string name);

public event GetFilmName BtnClicked;

public SearchNameWindow()

{

InitializeComponent();

}

private void buttonfind_Click(object sender, RoutedEventArgs e)

{

if (textBoxfind.Text != null)

{

BtnClicked(textBoxfind.Text);

}

this.Close();

}

}

}

namespace Second_Lab

{

/// <summary>

/// Логика взаимодействия для SearchGenreWindow.xaml

/// </summary>

public partial class SearchGenreWindow : Window

{

public delegate void GetGenreNum(Guid id);

public event GetGenreNum BtnClicked;

private GenreComponents genrecom { get; set; }

public SearchGenreWindow()

{

InitializeComponent();

genrecom = new GenreComponents();

listBoxgenre.ItemsSource = genrecom.ReadAll();

}

private void buttonfind_Click(object sender, RoutedEventArgs e)

{

BtnClicked(((Genre)listBoxgenre.SelectedItem)._ID);

this.Close();

}

}

}

namespace Second_Lab

{

/// <summary>

/// Логика взаимодействия для SearchDirectorWindow.xaml

/// </summary>

public partial class SearchDirectorWindow : Window

{

public delegate void GetDirectorName(Guid id);

public event GetDirectorName BtnClicked;

private DirectorComponents directorcom;

public SearchDirectorWindow()

{

InitializeComponent();

directorcom = new DirectorComponents();

listBoxdirector.ItemsSource = directorcom.ReadAll();

}

private void buttonfind_Click(object sender, RoutedEventArgs e)

{

BtnClicked(((Director)listBoxdirector.SelectedItem)._ID);

this.Close();

}

}

}

Соседние файлы в папке Filipenya_Katerina