Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Огляд бібліотек що використовується в роботі↑ ⇐ ПредыдущаяСтр 2 из 2 Содержание книги
Поиск на нашем сайте
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):
Таблиця 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, використані при побудові інтерфейсу
Таблиця 4.2 – Компоненти, що розроблені самостійно і використані при побудові інтерфейсу
Програма складається з таких файлів(таблиця 4.3) Таблиця 4.3 – Опис файлів програми
Для запуску програми необхідно відкрити файл Trener.exe.
Вхідні та вихідні дані У якості вхідних даних виступає реляційна база даних формату Вимоги до надійності: – програма повинна видавати повідомлення при некоректному заповнені числових та текстових полів; – програма має проводити обробку виключних ситуацій; – коректне зберігання інформації; Для роботи програми необхідно мати персональний комп’ютер з такими мінімальними характеристиками: – процесор з тактовою частотою не менш 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.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> <lib:Class1 DrawMethod="0" SliderValue="57" MouseLeftButtonDown="Class1_MouseLeftButtonDown" MouseRightButtonDown="Class1_MouseRightButtonDown" ></lib:Cl
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-08-06; просмотров: 269; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.206.166 (0.014 с.) |