Огляд бібліотек що використовується в роботі 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Огляд бібліотек що використовується в роботі



System;

System.Collections.Generic;

System.Linq;

System.Text;

System.Windows;

System.Windows.Controls;

System.Windows.Data;

System.Windows.Documents;

System.Windows.Input;

System.Windows.Media;

System.Windows.Media.Imaging;

System.Windows.Navigation;

System.Windows.Shapes;

System.Data.OleDb;

System.Windows.Controls.Primitives;

System.Windows.Media.Animation;

System.IO;

System.Xml.Linq;

Microsoft.Win32;

System.Windows.Threading;

Висновки з розділу 2

Було описано особливості мови програмування C# та технологію WPF, середи розробки Microsoft Visual Studio 2010, та обраного компілятору.


 

ОСНОВНІ РІШЕННЯ З РЕАЛІЗАЦІЇ КОМПОНЕНТІВ СИСТЕМИ

 

Основні розроблені алгоритми

 

Алгоритм работы программы, как формируются схемы, например, с точки зрения реализации

Фон схеми створюється за допомогою елементів технології WPF,

самі ж гравці, м’яч, їх розташування, розмір, колір регулюються за допомогою успадкування класу Thumb /// Створення ключови точок на відрізку…

 

Основні рішення щодо модульного уявлення системи

Проект складається з таких файлів(табл. 3.1):

Назва файлу Опис файлу
Trener.exe Скомпонований файл додатку
Trener.sln Файл Visual Basic.NET призначений для вне-сення змін у додаток
App.xaml Розмітка головного додатку
App.xaml.cs Код головного додатку
CalendarInfo.xaml Розмітка елементу „Інформація календаря”
CalendarInfo.xaml.cs Код елементу „Інформація календаря”
CalendarUserControl.xaml Розмітка елементу „Календар”
CalendarUserControl.xaml.cs Код елементу „Календар”
PlayerInfo.xaml Розмітка елементу „Інформація гравця”
PlayerInfo.xaml.cs Код елементу „Інформація гравця”
ClassPlayer.cs Код класу „Гравець”
Converts.cs Код класів-конверторів
MainWindow.xaml Розмітка головного вікна програми
MainWindow.xaml.cs Код головного вікна програми
UserControl1.xaml Розмітка елементу часової лінії
UserControl1.xaml.cs Код елементу часової лінії

Таблиця 3.1

 

 

Файл ClassPlayer.cs містить:

– публічний метод Player, що ініціалізує об’єкт початковими значеннями;

– публічний метод CreatePlayer, який додає об'єкт на схему та до часової лінії;

– метод SetColor, який задає колір об’єкту;

– метод SortListOfPlayers, котрий сортує список ключових точок;

– метод RedrawListBoxItem, який створює часову лінію на часовій шкалі;

– метод FindListVithSecond, котрий використовується для пошуку ключової точки за секундою;

– публічний метод RedrawAllPointsPlayer, який використовується для пересування гравців відносно часової лінії;

– метод PointBetweenTwoPoints, який використовується для пересування гравців відносно часової лінії;

– публічний метод AnimationPlayer, який використовується для створення анімації пересувань;

– публічний метод PlayerToXML, який використовується для експорту даних про гравця у файл;

– публічний метод XMLToPlayer, який використовується для імпорту даних про гравця з файлу;

– публічний метод XMLToPlayerHelper, який допомагає імпортувати дані про гравця з файлу;

– обробник події onDragDelta, який реагує на перетаскування гравця на схемі;

– обробник події Player_GotFocus, який реагує на отримання фокусу гравцем;

– обробник події Player_LostFocus, який реагує на втрату фокуса гравцем;

– обробник події ContextChangeAdd, який реагує на додавання ключової точки через контекстне меню;

– обробник події ContextChangeDelete, який реагує на видалення ключової точки через контекстне меню;

Файл MainWindow.xaml.cs містить:

– публічний метод MainWindow, що ініціалізує об’єкт початковими значеннями;

– метод RedrawAllPlayers, який пересуває всіх гравців відносно значення слайдера часової шкали;

– обробник події Sheme_MouseLeftButtonDown, який реагує на натиснення лівою кнопкою миші по схемі;

– обробник події Sheme_MouseEnter, який реагує на наведення курсору на схему;

– обробник події Sheme_MouseLeave, який реагує на виведення курсору зі схеми;

– обробник події Button_Click_Cursor, який реагує на натиснення кнопки меню „Курсор”;

– обробник події Button_Click_Draw, який реагує на натиснення кнопки меню „Додати гравця”;

– обробник події Button_Click_Select, який реагує на натиснення кнопки меню „Перемістити”;

– обробник події Button_Click_Brush, який реагує на натиснення кнопки меню „Кисть”;

– обробник події Sheme_MouseMove, який реагує на пересування курсором по схемі;

– обробник події Button_Click_Cursor, який реагує на натиснення кнопки меню „Курсор”;

– обробник події Class1_MouseLeftButtonDown, який реагує на натиснення по ключовому кадру на часовій лінії;

– обробник події sliderTimeLine_ValueChanged, який реагує на зміну значення слайдеру часової шкали;

– обробник події Button_Play_Click, який реагує на натиснення кнопки меню „Грати”;

– обробник події Button_Pause_Click, який реагує на натиснення кнопки меню „Пауза”;

– обробник події Button_Import_Click, який реагує на натиснення кнопки меню „Імпортувати схему”;

– обробник події Button_Export_Click, який реагує на натиснення кнопки меню „Експортувати схему”;

– обробник події Calendar_DayClick, який реагує на натиснення кнопки дня календаря;

– обробник події CalendarInfoChange, який реагує на зміну даних календаря;

Файл UserControl1.cs містить:

– публічний метод Class1, який ініціалізує об’єкт початковими значеннями;

– статичний метод Class1, який ініціалізує статичні компоненти класу;

– статичний метод WhatDraw, який регулює режим відображення елементу;

– обробник події MenuItemAdd_Click, який реагує на натиснення кнопки контекстного меню „Додати ключову точку”;

– обробник події MenuItemDelete_Click, який реагує на натиснення кнопки контекстного меню „Видалити ключову точку”.

Інформація про гравців зберігається в класі Player, методи й поля…

 

class Player: Thumb

{

private List<PositionOfPlayer> Points;

private List<Point> Bezye;

private List<double> Time;

public Color color;

public double Size;

public ListBoxItem lbi;

public String ListBoxItemContext {

get { return lbi.Content.ToString(); }

set { lbi.Content = value; }

}

private static bool dragm = true;

public static bool DragModePlayer

 

 

Висновки з розділу 3

Було описано основні розроблені алгоритми, та основні рішення що до модульного уявлення системи.


 

ПОСІБНИК ПРОГРАМІСТА

 

Призначення та умови застосування програми

 

Програмна система автоматизує роботу футбольного клубу.

Розроблене програмне забезпечення реалізовує наступні функції:

– створення інтерактивних схем пересування гравців;

– ведення списку складу команди, тренерів, комплексу тренувань;

– встановлення тренувального процесу;

– ведення розкладу матчів і тренувань.

Додаток відповідає наступним вимогам до надійності:

– видає повідомлення при некоректному заповнені числових та текстових полів;

– проводить обробку виключних ситуацій;

– коректно зберігає інформацію;

Для роботи програми необхідно мати персональний комп’ютер з такими мінімальними характеристиками:

– процесор з тактовою частотою не менш 800 МГц;

– оперативна пам'ять не менш 256 Мб;

– вільний дисковий простір близько 1Мб та простір для зберігання даних в базі і схем;

– відеокарта NVIDIA GeForce 128Mb або інша з подібними характеристиками.

Окрім цього повинні бути у наявності монітор, клавіатура, та маніпулятор „миша”.

Програмне забезпечення, яке повинно бути встановлено на персональному комп’ютері: операційна система Windows (Windows ХР – Windows 8), Microsoft Access пакету Microsoft Office 2007.

Програма розроблена у середі розробки програм Microsoft Visual Studio 2010. Базу даних розроблено у Microsoft Access 2007.

Розроблена програма складається з наступних файлів: Trener.exe, Trener.sln, App.xaml, App.xaml.cs, CalendarInfo.xaml, CalendarInfo.xaml.cs, CalendarUserControl.xaml, CalendarUserControl.xaml.cs, PlayerInfo.xaml, PlayerInfo.xaml.cs, ClassPlayer.cs, Converts.cs, MainWindow.xaml, MainWindow.xaml.cs, UserControl1.xaml, UserControl1.xaml.cs.

 

Структура програми

Для реалізації інтерфейсу програми був розроблений власний стиль оформлення. На головній формі розташовуються вкладки, на яких відображається інформація. Цей стиль є найбільш зручним для багатовіконних додатків.

При проектуванні програмного продукту були використані як стандартні компоненти Windows (таблиця 4.1), так і розроблені власноруч компоненти (таблиця 4.2). Компоненти Windows були стилізовані відповідно до загального інтерфейсу додатку.

Таблиця 4.1 – Компоненти Windows, використані при побудові інтерфейсу

 

Компонент Опис
TabControl Компонент, який вміщає в собі вкладки
TabItem Компонент, який створює вкладку та набір дочірніх елементів
ListBox Компонент, який містить список елементів для вибору
DataGrid Компонент, що вміщує у собі дані у вигляді таблиці
ComboBox Компонент, призначений для вибору значення у списку, що розкривається
Button Компонент, призначений для виконання дії по натисненню
Image Компонент, що відображає деяке зображення
TextBox Компонент, що слугує для вводу тексту користувачем
TextBlock Компонент, який відображає деякий текст на екрані

 

Таблиця 4.2 – Компоненти, що розроблені самостійно і використані при побудові інтерфейсу

 

Компонент Опис
TimeLineElement Компонент, що відображає положення гравця у задану секунду
Calendar Компонент, що відображає розклад тренувань та матчів у календарному вигляді
CalendarInfo Компонент, що призначений для зручного управління тренуваннями та матчами
PlayerInfo Компонент, що призначений для зручного управління гравцями

 

Програма складається з таких файлів(таблиця 4.3)

Таблиця 4.3 – Опис файлів програми

 

Назва файлу Опис файлу
Trener.exe Скомпонований файл додатку
Trener.sln Файл Visual Basic.NET призначений для вне-сення змін у додаток
App.xaml Розмітка головного додатку
App.xaml.cs Код головного додатку
CalendarInfo.xaml Розмітка елементу „Інформація календаря”
CalendarInfo.xaml.cs Код елементу „Інформація календаря”
CalendarUserControl.xaml Розмітка елементу „Календар”
CalendarUserControl.xaml.cs Код елементу „Календар”
PlayerInfo.xaml Розмітка елементу „Інформація гравця”
PlayerInfo.xaml.cs Код елементу „Інформація гравця”
ClassPlayer.cs Код класу „Гравець”
Converts.cs Код класів-конверторів
MainWindow.xaml Розмітка головного вікна програми
MainWindow.xaml.cs Код головного вікна програми
UserControl1.xaml Розмітка елементу часової лінії
UserControl1.xaml.cs Код елементу часової лінії

 

 

Для запуску програми необхідно відкрити файл Trener.exe.

 

Вхідні та вихідні дані

У якості вхідних даних виступає реляційна база даних формату
MS Access. Цей файл містить у собі інформацію склад команди, розклад матчів та тренувань. Також вихідними даними має бути файл з експортованою схемою.

Вимоги до надійності:

– програма повинна видавати повідомлення при некоректному заповнені числових та текстових полів;

– програма має проводити обробку виключних ситуацій;

– коректне зберігання інформації;

Для роботи програми необхідно мати персональний комп’ютер з такими мінімальними характеристиками:

– процесор з тактовою частотою не менш 800 МГц;

– оперативна пам'ять не менш 256 Мб;

– вільний дисковий простір близько 1Мб та простір для зберігання даних в базі і схем;

– відеокарта NVIDIA GeForce 128Mb або інша з подібними характеристиками.

Окрім цього повинні бути у наявності монітор, клавіатура, та маніпулятор „миша”.

Програмне забезпечення, яке повинно бути встановлено на персональному комп’ютері: операційна система Windows (Windows ХР – Windows 8), Microsoft Access пакету Microsoft Office 2007.

Вихідних даних у меня нет – а схемы, которые получаются – это разве не выходные данные?

А вхідні это имена игроков и т.д. да, база данных по игрокам, можно схему БД привести

У якості вихідних даних виступають схеми футбольної команди та календар…

 

 


 

ІНСТРУКЦІЯ КОРИСТУВАЧА

 

 

Програмна система автоматизує роботу футбольного клубу.

Розроблене програмне забезпечення реалізує наступні функції:

– створення інтерактивних схем пересування гравців;

– ведення списку складу команди, тренерів, комплексу тренувань;

– встановлення тренувального процесу;

– ведення розкладу матчів і тренувань.

Додаток відповідає наступним вимогам до надійності:

– видає повідомлення при некоректному заповнені числових та текстових полів;

– проводить обробку виключних ситуацій;

– коректно зберігає інформацію;

Для роботи програми необхідно мати персональний комп’ютер з такими мінімальними характеристиками:

– процесор з тактовою частотою не менш 800 МГц;

– оперативна пам'ять не менш 256 Мб;

– вільний дисковий простір близько 1Мб та простір для зберігання даних в базі і схем;

– відеокарта NVIDIA GeForce 128Mb або інша з подібними характеристиками.

Окрім цього повинні бути у наявності монітор, клавіатура, та маніпулятор „миша”.

Програмне забезпечення, яке повинно бути встановлено на персональному комп’ютері: операційна система Windows (Windows ХР – Windows 8), Microsoft Access пакету Microsoft Office 2007.

Для встановлення програмного продукту необхідно скопіювати файли автоматизованої системи футбольного тренування на комп’ютер користувача в окрему папку, при необхідності, встановити Microsoft.Net Framework 4.0.

Для запуску програми необхідно відкрити файл Trener.exe.

Після відкриття файлу з’явиться головне вікно програми (рисунок 5.1). Користувач може авторизуватися у системі – це дає змогу редагувати склад команди й керувати календарним процесом команди.

 

 

Рисунок 5.1 – Головне вікно програми

 

При натисненні на вкладку „Схема”, відкриється ігрова схема
(рисунок 5.2). З її допомогою можна створювати і вдосконалювати тактичні схеми. Існує можливість завантажити вже існуючі схеми, що значно полегшує роботу користувача.

 

Рисунок 5.2 – Вкладка „Схема”

 

Для додавання нового гравця необхідно натиснути на кнопку „Додати гравця” та натиснути на схемі в необхідному місці, при цьому зміниться вигляд курсору. Після додавання гравця на шкалі часу з’явиться його часова лінія. На часовій лінії можна додавати ключові точки. Для цього необхідно натиснути правою кнопкою миші на необхідній ключовій точці та в контекстному меню обрати пункт „Додати ключову точку”, а для видалення ключової точки – пункт „Видалити ключову точку”.

Для пересування гравців необхідно натиснути на кнопку меню „Перемістити” та перетягувати іконки гравців. При цьому необхідно, щоб слайдер обраного часу знаходився на ключовій точці даного гравця.

Для програвання створеної схеми необхідно натиснути на кнопку меню „Грати”.

Для збереження створеної схеми необхідно натиснути на кнопку „Експортувати схему” та обрати директорію куди необхідно зберегти схему. Для загрузки вже існуючої схеми необхідно натиснути кнопку меню „Імпортувати схему” та у виведеному діалозі обрати потрібний документ зі схемою.

На наступній вкладці, яка має назву „Календар”, знаходиться календар роботи команди (рисунок 5.3). На календарі відображаються усі матчі та тренування команди. Завдяки спеціальному елементу керування можна дуже просто та зручно додавати нові дані, або змінювати старі (рисунок 5.4).

 

 

Рисунок 5.3 – Вкладка „Календар”

 

Рисунок 5.4 – Додавання нового матчу

 

Наступною вкладкою є вкладка „Склад” (рисунок 5.5). На вкладці відображається повна інформація про гравців команди, яку можна легко редагувати (якщо пройдена авторизація).

Для додавання нових гравців необхідно натиснути на кнопку меню „Додати” та ввести відповідні дані у спеціальному компоненті(рисунок 5.6). Для редагування інформації про гравця треба обрати потрібного гравця та натиснути кнопку „Редагувати”.

Для видалення даних про гравця необхідно обрати потрібного гравця, натиснути кнопку „Видалити” та підтвердити видалення.

 

Рисунок 5.5 – Вкладка „Склад”

 

 

Рисунок 5.6 – Додавання нового гравця


 

ВИСНОВКИ

 

У даній курсовій роботі розроблений додаток „Система футбольного тренування” для автоматизації роботи головного тренера команди.

Головною метою при виконанні завдання була розробка зручного інструмента для створення тактичних схем пересувань гравців. Дана функція розроблена і задовольняє усі вимоги кінцевого користувача.

Також значущим було створення інструмента для зручного ведення календарної роботи.

У ході написання програми було прийнято рішення відмовитися від стандартного інтерфейсу вікон і розробити власний дизайн. Максимальна зручність і простота стала основним пріоритетом. На основі простих елементів було створено складні структури і взаємозв’язки.

Програмний продукт має різні рівні доступу для запобігання зміни або видалення даних працівниками у власних корисних цілях.

При виконанні завдання проведена відладка роботи системи з метою виявлення збійних ситуацій та помилок. В результаті відладки критичних помилок не виявлено.

Програмний продукт має широкий спектр можливостей та відповідає усім вимогам до подібних програм.

 


 

СПИСОК ЛІТЕРАТУРИ

Всмысле не по стандарту?

1. Петров В.Н. Информационные системы – СПб.: Питер, 2003. – 688 с.

2. http://www.fifa.com/

3. Подбельский В.В. Язык С#. Базовый курс – СПб.: Питер, 2011. – 384 с.

4. Натан А. WPF 4. Подробное руководство – СПб.: Питер, 2011. – 880 с.

5. Зозуля Ю. Windows 7 на 100% – СПб.: Видавництво Пітер 2011. – 213с.

6. Гері Хансен, Джеймс Хансен Бази даних: розробка і керування: Пер. з англ. – М.: ЗАО Видавництво БІНОМ, 1999. – 704с.

 

 


 

 

ДОДАТОК А

Текст програми

 


 

//App.Resources

<Application.Resources>

<ResourceDictionary>

<ResourceDictionary.MergedDictionaries>

<ResourceDictionary Source="Resources\Slider.xaml" />

<ResourceDictionary Source="Resources\ScrollBar.xaml" />

<ResourceDictionary>

<Color x:Key="textColor1">#ffffff</Color>

<Color x:Key="textColor2">#000000</Color>

 

 

<LinearGradientBrush x:Key="TransparentColor" StartPoint="0, 0.5" EndPoint="1, 0.5">

<GradientStop Color="#44ffffff" Offset="0" />

<GradientStop Color="#ddf1f1f1" Offset="0.5" />

<GradientStop Color="#44f6f6f6" Offset="1" />

</LinearGradientBrush>

<RadialGradientBrush x:Key="Back" GradientOrigin="0.5,1">

<GradientStop Color="#bcfaef" Offset="0" />

<GradientStop Color="#278cea" Offset="1" />

</RadialGradientBrush>

<Style x:Key="BorderStyle" TargetType="Border">

<Setter Property="Padding" Value="5,2,5,2" />

<Setter Property="Background" >

<Setter.Value>

<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">

<GradientStop Color="#e6e7e7" Offset="0" />

<GradientStop Color="#b9eefd" Offset="1"/>

</LinearGradientBrush>

</Setter.Value>

</Setter>

<Setter Property="CornerRadius" Value="10" />

</Style>

<LinearGradientBrush x:Key="GradientForListBox" StartPoint="0,0" EndPoint="1,0.001"> <GradientBrush.GradientStops>

<GradientStopCollection>

<GradientStop Color="White" Offset="0.5" />

<GradientStop Color="#FFB4CAFF" Offset="0.6" />

<GradientStop Color="White" Offset="0.7"/>

</GradientStopCollection>

</GradientBrush.GradientStops>

</LinearGradientBrush>

<LinearGradientBrush x:Key="TabItemFill" StartPoint="0.5, 1" EndPoint="0.5, 0">

<GradientStop Color="#278cea" Offset="0" />

<GradientStop Color="#0265c1" Offset="1" />

</LinearGradientBrush>

<LinearGradientBrush x:Key="BackgroundCalendarButton">

<GradientStop Color="#05aaff" Offset="0" />

<GradientStop Color="#ffffff" Offset="0.5" />

<GradientStop Color="#05aaff" Offset="1" />

</LinearGradientBrush>

 

<LinearGradientBrush x:Key="BackgroundCalendarHeaderButton">

<GradientStop Color="#ffffff" Offset="0" />

<GradientStop Color="#ffffff" Offset="0.2" />

<GradientStop Color="#ffffff" Offset="0.8" />

<GradientStop Color="#ffffff" Offset="1" />

</LinearGradientBrush>

<LinearGradientBrush x:Key="CalendarInfo_Background" StartPoint="0.5,0" EndPoint="0.5, 1"> <GradientStop Color="#f8ffde" Offset="0.15"/>

<GradientStop Color="#f2e8c8" Offset="0.85"/>

 

</LinearGradientBrush>

<FontFamily x:Key="MainFont">Comic Sans MS</FontFamily>

<ControlTemplate x:Key="PlayerButton" TargetType="lib:Player">

<Canvas Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" >

<Ellipse Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" Fill="{TemplateBinding Background}"/>

<Ellipse Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" Name="focus" Visibility="Collapsed">

<Ellipse.Fill>

<LinearGradientBrush>

<GradientStop Offset="0" Color="#55000000"/>

<GradientStop Offset="1" Color="#00000000"/>

</LinearGradientBrush>

</Ellipse.Fill>

</Ellipse>

</Canvas>

<ControlTemplate.Triggers>

 

<Trigger Property="IsSelectedPlayer" Value="true" >

<Setter TargetName="focus" Property="Visibility" Value="Visible" />

</Trigger>

</ControlTemplate.Triggers>

</ControlTemplate>

</ResourceDictionary>

</ResourceDictionary.MergedDictionaries>

</ResourceDictionary>

</Application.Resources>

//MAINWINDOW – XAML

<Window x:Class="WpfApplication1.MainWindow"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

xmlns:lib="clr-namespace:WpfApplication1"

xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"

Title="MainWindow" Name="myWindow" Background="Aqua" WindowState="Maximized" FontFamily="Comic Sans MS">

<!--WindowState="Maximized" ResizeMode="NoResize" 1024x768 LOW SCREEN Height="768" Width="1600" Background="{StaticResource Back}"

Width="{Binding ElementName=myCanvasStretch,Path=Width}"

-->

 

<Window.Resources>

 

<lib:LegConverter x:Key="LegConverterRes"></lib:LegConverter>

<lib:InjuredConverter x:Key="InjuredConverterRes"></lib:InjuredConverter>

<lib:RentConverter x:Key="RentConverterRes"></lib:RentConverter>

 

<ControlTemplate x:Key="ButtonTemp" TargetType="Button">

<Border Name="Button_Bord" Width="50" Height="50" Margin="1,1,1,1" BorderBrush="Gray" BorderThickness="1" CornerRadius="10">

<Border.Background>

<LinearGradientBrush StartPoint="0.5, 0" EndPoint="0.5, 1">

<GradientStop Color="#e6e7e7" Offset="0"/>

<GradientStop Color="#c5e6e7" Offset="1"/>

</LinearGradientBrush>

</Border.Background>

<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />

</Border>

 

<ControlTemplate.Triggers>

<MultiTrigger >

<MultiTrigger.Conditions>

<Condition Property="IsMouseOver" Value="True" />

</MultiTrigger.Conditions>

<MultiTrigger.EnterActions>

<BeginStoryboard>

<Storyboard>

<ColorAnimation Storyboard.TargetName="Button_Bord"

Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)"

To="#56b7f4"

Duration="0:0:0.3" >

</ColorAnimation>

 

</Storyboard>

</BeginStoryboard>

</MultiTrigger.EnterActions>

 

<MultiTrigger.ExitActions>

<BeginStoryboard>

<Storyboard>

<ColorAnimation Storyboard.TargetName="Button_Bord"

Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)"

To="#c5e6e7"

Duration="0:0:0.3">

</ColorAnimation>

</Storyboard>

</BeginStoryboard>

</MultiTrigger.ExitActions>

 

</MultiTrigger>

</ControlTemplate.Triggers>

</ControlTemplate>

 

<Style TargetType="{x:Type TabControl}">

<Setter Property="SnapsToDevicePixels" Value="true"/>

<Setter Property="Template">

<Setter.Value>

<ControlTemplate TargetType="TabControl">

<Grid>

<Grid.RowDefinitions>

<RowDefinition Height="auto"/>

<RowDefinition Height="*"/>

</Grid.RowDefinitions>

 

<Border Background="{StaticResource TabItemFill}">

<TabPanel IsItemsHost="True"/>

</Border>

 

<Border BorderThickness="0"

Grid.Row="1"

Background="{StaticResource Back}">

<!--LOW SCREEN Background="{StaticResource Back}"-->

 

<ContentPresenter ContentSource="SelectedContent" Margin="0"/>

</Border>

</Grid>

</ControlTemplate>

</Setter.Value>

</Setter>

</Style>

 

 

<Style TargetType="{x:Type TabItem}">

<Setter Property="SnapsToDevicePixels" Value="true"/>

<Setter Property="Template">

<Setter.Value>

<ControlTemplate TargetType="TabItem">

<Border Padding="70, 10, 70, 10"

CornerRadius="10, 20,0,0" x:Name="PART_Bord">

<Border.Background>

<LinearGradientBrush StartPoint="0.5, 1" EndPoint="0.5, 0" >

<GradientStop Color="#278cea" Offset="0" />

<GradientStop Color="#ffffff" Offset="1" />

</LinearGradientBrush>

</Border.Background>

 

<ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center" ContentSource="Header"/>

 

</Border>

 

<ControlTemplate.Triggers>

<MultiTrigger >

<MultiTrigger.Conditions>

<Condition Property="IsSelected" Value="True" />

</MultiTrigger.Conditions>

<MultiTrigger.EnterActions>

<BeginStoryboard>

<Storyboard>

<ColorAnimation Storyboard.TargetName="PART_Bord"

Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[0].(GradientStop.Color)"

To="#b4e6fd"

Duration="0:0:0.3">

</ColorAnimation>

 

</Storyboard>

</BeginStoryboard>

</MultiTrigger.EnterActions>

 

<MultiTrigger.ExitActions>

<BeginStoryboard>

<Storyboard>

<ColorAnimation Storyboard.TargetName="PART_Bord"

Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[0].(GradientStop.Color)"

To="#278cea"

Duration="0:0:0.3">

</ColorAnimation>

</Storyboard>

</BeginStoryboard>

</MultiTrigger.ExitActions>

 

</MultiTrigger>

 

<MultiTrigger >

<MultiTrigger.Conditions>

<Condition Property="IsMouseOver" Value="True" />

<Condition Property="IsSelected" Value="False" />

</MultiTrigger.Conditions>

<MultiTrigger.EnterActions>

<BeginStoryboard>

<Storyboard>

<ColorAnimation Storyboard.TargetName="PART_Bord"

Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)"

To="#bcfaef"

Duration="0:0:0.3" >

</ColorAnimation>

 

</Storyboard>

</BeginStoryboard>

</MultiTrigger.EnterActions>

 

<MultiTrigger.ExitActions>

<BeginStoryboard>

<Storyboard>

<ColorAnimation Storyboard.TargetName="PART_Bord"

Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)"

To="#ffffff"

Duration="0:0:0.3">

</ColorAnimation>

</Storyboard>

</BeginStoryboard>

</MultiTrigger.ExitActions>

</MultiTrigger>

</ControlTemplate.Triggers>

</ControlTemplate>

</Setter.Value>

</Setter>

</Style>

<Style TargetType="ListBox" x:Key="ListBoxTimeLine">

<Setter Property="SnapsToDevicePixels"

Value="true" />

<Setter Property="OverridesDefaultStyle"

Value="true" />

<Setter Property="ScrollViewer.HorizontalScrollBarVisibility"

Value="Auto" />

<Setter Property="ScrollViewer.VerticalScrollBarVisibility"

Value="Auto" />

<Setter Property="ScrollViewer.CanContentScroll"

Value="true" />

<Setter Property="Template">

<Setter.Value>

<ControlTemplate TargetType="ListBox">

<Border Name="border_lbx"

Background="{StaticResource GradientForListBox}"

BorderBrush="#FF1D83B1"

BorderThickness="2" CornerRadius="3"

Margin="5">

<StackPanel Orientation="Vertical">

<Slider Margin="0,8,0,8" Style="{DynamicResource TimeLineSlider}" Name="sliderTimeLine"

Orientation="Horizontal"

TickPlacement="BottomRight" Panel.ZIndex="1" SmallChange="15" Maximum="900" Minimum="15" LargeChange="15" TickFrequency="15" IsSnapToTickEnabled="True" IsMoveToPointEnabled="True" ValueChanged="sliderTimeLine_ValueChanged" />

<ScrollViewer Height="140" Margin="0,5,0,0" VerticalScrollBarVisibility="Visible">

<StackPanel Margin="0" IsItemsHost="True" ScrollViewer.CanContentScroll="True" >

</StackPanel>

</ScrollViewer>

</StackPanel>

</Border>

</ControlTemplate>

</Setter.Value>

</Setter>

</Style>

 

 

<Style TargetType="ListBoxItem">

<Setter Property="Template">

<Setter.Value>

<ControlTemplate TargetType="ListBoxItem">

<Border Name="lbxi_border"

BorderThickness="2" CornerRadius="3"

 

SnapsToDevicePixels="True">

 

<StackPanel Orientation="Horizontal" Panel.ZIndex="0" Name="PART_PanelKletok">

 

<Border BorderBrush="Black" BorderThickness="1">

<Grid>

<Grid.ColumnDefinitions>

<ColumnDefinition Width="auto" />

<ColumnDefinition Width="auto" />

</Grid.ColumnDefinitions>

<TextBlock Grid.Column="0" Name="PART_PlayerName" Text="{TemplateBinding Content}" Margin="0,0,0, 0" Width="77" />

<TextBox Grid.Column="1" Name="PART_EditPlayerName" Text="{TemplateBinding Content}" Margin="0,0,0, 0" Width="62" LostFocus="PART_EditPlayerName_LostFocus" Visibility="Collapsed" />

</Grid>

<Border.ContextMenu>

<ContextMenu>

<MenuItem Header="Перейменувати" Click="RenamePlayer_Click"/>

<MenuItem Header="Видалити" Click="DeletePlayer_Click"/>

</ContextMenu>

</Border.ContextMenu>

</Border>

 

<lib:Class1 DrawMethod="4" SliderValue="1" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown"></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="2" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown"></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="3" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown"></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="4" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="5" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="6" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="7" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="8" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="9" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="10" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

 

<lib:Class1 DrawMethod="0" SliderValue="11" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="12" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="13" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="14" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="15" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="16" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="17" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="18" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="19" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="20" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown"></lib:Class1>

 

<lib:Class1 DrawMethod="0" SliderValue="21" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="22" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="23" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="24" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="25" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="26" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="27" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="28" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="29" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="30" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

 

<lib:Class1 DrawMethod="0" SliderValue="31" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="32" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="33" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="34" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="35" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="36" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="37" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="38" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="39" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="40" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

 

<lib:Class1 DrawMethod="0" SliderValue="41" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="42" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="43" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="44" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="45" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="46" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="47" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="48" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="49" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="50" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

 

<lib:Class1 DrawMethod="0" SliderValue="51" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="52" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="53" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="54" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="55" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>

<lib:Class1 DrawMethod="0" SliderValue="56" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Class1>



Поделиться:


Последнее изменение этой страницы: 2016-08-06; просмотров: 214; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.239.148 (0.419 с.)