浏览代码

Анимации + коментарии для стилей

максим карбышев 3 年之前
父节点
当前提交
32f4fa31f6

+ 2 - 1
CybersportTournament/AddWindows/AddRoundWindow.xaml.cs

@@ -124,7 +124,8 @@ namespace CybersportTournament.AddWindows
         {
             #region Авторасчёт длительности матча
             int index = roundPeriod.IndexOf(":");
-            TimeSpan rp = new TimeSpan(Convert.ToInt32(roundPeriod.Substring(0, index)), Convert.ToInt32(roundPeriod.Substring(index + 1, roundPeriod.Length - index - 1)), 0);
+            TimeSpan rp = new TimeSpan(Convert.ToInt32(roundPeriod.Substring(0, index)), 
+                Convert.ToInt32(roundPeriod.Substring(index + 1, roundPeriod.Length - index - 1)), 0);
             return matchPeriod + rp;
             #endregion
         }

+ 1 - 1
CybersportTournament/AuthorizationWindow.xaml

@@ -12,6 +12,6 @@
         <Label Content="Пароль:" VerticalAlignment="Top" HorizontalAlignment="Left" Foreground="White" Margin="388,411,0,0" Height="60" Width="180" FontSize="36"/>
         <PasswordBox Name="Password" VerticalAlignment="Top" HorizontalAlignment="Left" Height="60" Width="550" Margin="567,411,0,0" FontSize="36"/>
         <Button Name="AuthorizeButton" Content="Войти" VerticalAlignment="Top" HorizontalAlignment="Left" Height="60" Width="360" Margin="350,746,0,0" Click="AuthorizationClick" FontSize="36"/>
-        <Button Name="RegistrationButton" Content="Зарегистрироваться" VerticalAlignment="Top" HorizontalAlignment="Right" Height="60" Width="360" Margin="0,746,350,0" Click="RegistrationClick" FontSize="36"/>
+        <Button Name="RegistrationButton" Content="Зарегистрироваться" VerticalAlignment="Top" HorizontalAlignment="Right" Height="60" Width="360" Margin="0,746,350,0" FontSize="36"/> <!--Click="RegistrationClick"-->
     </Grid>
 </Window>

+ 0 - 1
CybersportTournament/CybersportTournament.csproj

@@ -156,7 +156,6 @@
     <Compile Include="RoundsList.cs">
       <DependentUpon>CybersportTournamentModel.tt</DependentUpon>
     </Compile>
-    <Compile Include="Styles\Style.xaml.cs" />
     <Compile Include="ErrorWindow.xaml.cs">
       <DependentUpon>ErrorWindow.xaml</DependentUpon>
     </Compile>

+ 1 - 1
CybersportTournament/ElementsWindows/TournamentWindow.xaml

@@ -5,7 +5,7 @@
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
         xmlns:local="clr-namespace:CybersportTournament.ElementsWindows"
         mc:Ignorable="d"
-        Title="Турнир" Height="900" Width="1600" WindowStartupLocation="CenterScreen" ResizeMode="CanMinimize">
+        Title="Турнир" Height="900" Width="1600" WindowStartupLocation="Manual" ResizeMode="CanMinimize">
     <Grid Margin="0,0,0,0">
         <Button Name="BackButton" Content="Назад" HorizontalAlignment="Left" Margin="20,17,0,0" VerticalAlignment="Top" Height="39" Width="140" FontSize="25" Click="BackButtonClick"/>
         <Label Content="Название:" HorizontalAlignment="Left" Margin="129,88,0,0" VerticalAlignment="Top" Height="45" Width="131" Foreground="White" FontSize="25"/>

+ 70 - 5
CybersportTournament/Styles/Style.xaml

@@ -4,6 +4,7 @@
                     x:Class="CybersportTournament.Style">
 
 
+    <!--#region Оформление окна-->
     <Style TargetType="Grid">
         <Setter Property="Background">
             <Setter.Value>
@@ -14,9 +15,12 @@
             </Setter.Value>
         </Setter>
     </Style>
+    <!--#endregion-->
 
-
+    <!--#region Стиль кнопки-->
     <Style TargetType="Button">
+        
+        <!--Текст-->
         <Setter Property="Template">
             <Setter.Value>
                 <ControlTemplate TargetType="Button">
@@ -27,35 +31,96 @@
             </Setter.Value>
         </Setter>
 
+        <!--Цвет-->
+        <Setter Property="Background">
+            <Setter.Value>
+                <RadialGradientBrush MappingMode="RelativeToBoundingBox" GradientOrigin="0.5,0.5" Center="0.5,0.5" RadiusX="0" RadiusY="0">
+                    <GradientStop Color="#787d7c" Offset="0"/>
+                    <GradientStop Color="#4f5856" Offset="1"/>
+                </RadialGradientBrush>
+            </Setter.Value>
+        </Setter>
+
+        <!--Тень-->
+        <Setter Property="Effect">
+            <Setter.Value>
+                <DropShadowEffect/>
+            </Setter.Value>
+        </Setter>
+
+        <!--Скруглённые углы-->
         <Setter Property="Template">
             <Setter.Value>
                 <ControlTemplate TargetType="Button">
-                    <Border Name="Border" CornerRadius="15" Background="#FF4F5856" BorderBrush="Black" 
-                            MouseEnter="MouseEnter" MouseLeave="MouseLeave">
+                    <Border Name="Border" CornerRadius="15" Background="#FF4F5856" BorderBrush="Black">
                         <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                     </Border>
                 </ControlTemplate>
             </Setter.Value>
         </Setter>
         <Setter Property="Background" Value="{Binding ElementName=Border}"/>
+
+        <!--Анимации-->
+        <Style.Triggers>
+            <!--Смена цвета при наведении (пишет, что GradientStops не поддерживается в проекте WPF, хотя на метаните нормально через него работают)-->
+            <!--<EventTrigger RoutedEvent="Button.MouseEnter">
+                <EventTrigger.Actions>
+                    <BeginStoryboard>
+                        <Storyboard Duration="0:0:1" SpeedRatio="3" FillBehavior="HoldEnd">
+                            <ColorAnimation Storyboard.TargetProperty="(Button.Background).(GradientStops[1].Color)" To="#FF409E8E"/>
+                        </Storyboard>
+                    </BeginStoryboard>
+                </EventTrigger.Actions>
+            </EventTrigger>-->
+
+            <!--Анимация при нажатии-->
+            <EventTrigger RoutedEvent="Button.PreviewMouseLeftButtonDown">
+                <EventTrigger.Actions>
+                    <BeginStoryboard>
+                        <Storyboard Duration="0:0:1" SpeedRatio="3" FillBehavior="HoldEnd">
+                            <DoubleAnimation Storyboard.TargetProperty="Background.RadiusX" To="1.0"/>
+                            <DoubleAnimation Storyboard.TargetProperty="Background.RadiusY" To="1.0"/>
+                            <DoubleAnimation Storyboard.TargetProperty="Effect.Opacity" To="0"/>
+                        </Storyboard>
+                    </BeginStoryboard>
+                </EventTrigger.Actions>
+            </EventTrigger>
+
+            <!--Анимация при отпускании-->
+            <EventTrigger RoutedEvent="PreviewMouseLeftButtonUp">
+                <EventTrigger.Actions>
+                    <BeginStoryboard>
+                        <Storyboard Duration="0:0:1" SpeedRatio="3" FillBehavior="HoldEnd">
+                            <DoubleAnimation Storyboard.TargetProperty="Background.RadiusX" To="0"/>
+                            <DoubleAnimation Storyboard.TargetProperty="Background.RadiusY" To="0"/>
+                            <DoubleAnimation Storyboard.TargetProperty="Effect.Opacity" To="1"/>
+                        </Storyboard>
+                    </BeginStoryboard>
+                </EventTrigger.Actions>
+            </EventTrigger>
+        </Style.Triggers>
     </Style>
+    <!--#endregion-->
 
+    <!--#region Оформление датагрида-->
+    <!--Поля-->
     <Style TargetType="DataGrid">
         <Setter Property="FontSize" Value="20"/>
-        
-
         <Setter Property="Foreground" Value="White"/>
         <Setter Property="RowBackground" Value="Transparent"/>
         <Setter Property="BorderBrush" Value="Transparent"/>
         <Setter Property="Background" Value="Transparent"/>
     </Style>
 
+    <!--Заголовки столбцов-->
     <Style x:Key="ColumnHeaderStyle" TargetType="{x:Type DataGridColumnHeader}">
         <Setter Property="Background" Value="Transparent" />
         <Setter Property="FontWeight" Value="Bold"/>
     </Style>
 
+    <!--Заголовки строк-->
     <Style x:Key="RowHeaderStyle" TargetType="{x:Type DataGridRowHeader}">
         <Setter Property="Background" Value="Transparent" />
     </Style>
+    <!--#endregion-->
 </ResourceDictionary>

+ 0 - 19
CybersportTournament/Styles/Style.xaml.cs

@@ -1,19 +0,0 @@
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Media;
-
-namespace CybersportTournament
-{
-    public partial class Style : ResourceDictionary
-    {
-        private void MouseEnter(object sender, System.Windows.Input.MouseEventArgs e)
-        {
-            ((Border)sender).Background = new SolidColorBrush(Color.FromRgb(120,125,124));
-        }
-
-        private void MouseLeave(object sender, System.Windows.Input.MouseEventArgs e)
-        {
-            ((Border)sender).Background = new SolidColorBrush(Color.FromRgb(79,88,86));
-        }
-    }
-}