MainWindow.xaml
Home
/
WPF /
View /
MainWindow.xaml
<Window x:Class="WPF.View.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:local="clr-namespace:WPF.View"
xmlns:viewmodel="clr-namespace:WPF.ViewModel"
xmlns:converters="clr-namespace:Common.WPF.Converters"
xmlns:controls="clr-namespace:Common.WPF.Controls"
WindowStartupLocation="CenterScreen"
mc:Ignorable="d"
x:Name="Window"
WindowState="{Binding WindowState}"
Background="{StaticResource WindowBackground}"
WindowStyle="None"
ResizeMode="CanResizeWithGrip"
AllowsTransparency="True"
Loaded="Window_Loaded"
Title="{Binding TitleText}"
Height="215" Width="725"
MinHeight="215" MinWidth="725"
BorderBrush="#FF494957"
BorderThickness="1">
<Window.Resources>
<Style TargetType="{x:Type ScrollBar}">
<Setter Property="Template" Value="{StaticResource HorizontalScrollBar}"/>
</Style>
<Style TargetType="{x:Type Expander}" BasedOn="{StaticResource AdvancedExpander}"/>
<Style TargetType="ToolTip">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ToolTip">
<Border BorderThickness="1" BorderBrush="Gray" CornerRadius="2" Background="{StaticResource WindowBackground}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type xctk:UIntegerUpDown}" BasedOn="{StaticResource {x:Type xctk:UIntegerUpDown}}">
<Setter Property="FontSize" Value="18"/>
<Setter Property="Width" Value="50"/>
<Setter Property="Margin" Value="2"/>
<Setter Property="Background" Value="{StaticResource WindowBackground}"/>
<Setter Property="BorderBrush" Value="#FF494957"/>
<Setter Property="Foreground" Value="White"/>
</Style>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid Grid.Row="0" Background="{StaticResource WindowBackground}" x:Name="Header">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Grid.Column="0" Margin="74,0,0,0">
<TextBlock Text="{Binding TitleText}" FontSize="18" Foreground="{StaticResource Yellow}"/>
</StackPanel>
<StackPanel Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,0,5,0">
<Button Style="{StaticResource MinimizeButton}" Width="23" Height="23"
Command="{Binding MinimizeCommand}" />
<Button Height="23" Width="23" Style="{StaticResource MaximizeButton}"
Command="{Binding MaximizeCommand}" CommandParameter="{Binding ElementName=Window}" />
<Button Style="{StaticResource CloseButton}" Width="23" Height="23"
Command="{Binding CloseCommand}"
CommandParameter="{Binding ElementName=Window}" HorizontalAlignment="Right"/>
</StackPanel>
</Grid>
<Grid Grid.Row="1" Background="{StaticResource WindowBackground}" Margin="2">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<ComboBox Grid.Row="0" Grid.Column="0" Style="{StaticResource ComboBoxStyle}" ItemsSource="{Binding EnumTheorems}" SelectedItem="{Binding SelectedTheorem}" Width="Auto">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Converter={StaticResource EnumToDescriptionConverter}}" Style="{StaticResource WhiteCaptionTextStyle}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<TextBlock Grid.Row="1" Grid.Column="0" Text="{Binding EdgesText}" Margin="2" Style="{StaticResource WhiteCaptionTextStyle}" ToolTipService.InitialShowDelay="1000">
<TextBlock.ToolTip>
<TextBlock Text="{Binding EdgesTextTooltip}" Foreground="GhostWhite" Margin="1"/>
</TextBlock.ToolTip>
</TextBlock>
<xctk:UIntegerUpDown Grid.Row="1" Grid.Column="1" HorizontalAlignment="Left" Value="{Binding EdgesNum}" Minimum="{Binding MinValue}" Maximum="{Binding MaxValue}"/>
<TextBlock Grid.Row="2" Grid.Column="0" Text="{Binding SameVertText}" Margin="2" Style="{StaticResource WhiteCaptionTextStyle}" ToolTipService.InitialShowDelay="1000">
<TextBlock.ToolTip>
<TextBlock Text="{Binding SameVertTextTooltip}" Foreground="GhostWhite" Margin="1"/>
</TextBlock.ToolTip>
</TextBlock>
<xctk:UIntegerUpDown Grid.Row="2" Grid.Column="1" HorizontalAlignment="Left" Value="{Binding SameVertNum}" Minimum="{Binding MinValue}" Maximum="{Binding MaxValue}"/>
<Grid Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="4" Visibility="{Binding VisibilityVerticies}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="54*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Text="{Binding VerticiesText}" Margin="2" Style="{StaticResource WhiteCaptionTextStyle}" ToolTipService.InitialShowDelay="1000">
<TextBlock.ToolTip>
<TextBlock Text="{Binding VerticiesTextTooltip}" Foreground="GhostWhite" Margin="1"/>
</TextBlock.ToolTip>
</TextBlock>
<TextBlock Grid.Row="1" Grid.Column="0" Text="{Binding VerticiesValueText}" Margin="2" Style="{StaticResource WhiteCaptionTextStyle}" ToolTipService.InitialShowDelay="1000">
<TextBlock.ToolTip>
<TextBlock Text="{Binding VerticiesValueTooltip}" Foreground="GhostWhite" Margin="1"/>
</TextBlock.ToolTip>
</TextBlock>
<ScrollViewer Grid.Row="0" Grid.Column="1" Grid.RowSpan="2" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Hidden" MinWidth="540">
<ItemsControl ItemsSource="{Binding Verticies}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Margin="0" MaxWidth="54">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="{Binding VertText}" Margin="2" Style="{StaticResource WhiteCaptionTextStyle}" HorizontalAlignment="Center"/>
<xctk:UIntegerUpDown Grid.Row="1" Value="{Binding Value}" Minimum="{Binding MinValue}" Maximum="{Binding Source={x:Static viewmodel:MainViewModel.MaxValue}}"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
</Grid>
<StackPanel Grid.Row="0" Grid.Column="2" Grid.RowSpan="3" Orientation="Vertical" Width="125" Margin="5,0,5,0">
<Button Margin="0,0,0,1" Command="{Binding CalculateCommand}">
<TextBlock Text="Выполнить расчет" TextWrapping="WrapWithOverflow" TextAlignment="Center"/>
</Button>
<Button Margin="0,1,0,0" Command="{Binding SaveResultCommand}">
<TextBlock Text="Сохранить перестановки" TextWrapping="WrapWithOverflow" TextAlignment="Center"/>
</Button>
</StackPanel>
<Grid Grid.Row="0" Grid.Column="3" Grid.RowSpan="3">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Text="{Binding TheoremOKText}" Margin="2" Style="{StaticResource WhiteCaptionTextStyle}" ToolTipService.InitialShowDelay="1000">
<TextBlock.ToolTip>
<TextBlock Text="{Binding TheoremOKTooltip}" Foreground="GhostWhite" Margin="1"/>
</TextBlock.ToolTip>
</TextBlock>
<Rectangle Grid.Row="0" Grid.Column="1" Height="24" Width="24" Margin="5 0">
<Rectangle.Style>
<Style TargetType="Rectangle">
<Setter Property="OpacityMask">
<Setter.Value>
<VisualBrush Stretch="Fill" Visual="{StaticResource CheckNO}" />
</Setter.Value>
</Setter>
<Setter Property="Fill" Value="Red"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsTheoremCorrect}" Value="True">
<Setter Property="OpacityMask">
<Setter.Value>
<VisualBrush Stretch="Fill" Visual="{StaticResource CheckOK}" />
</Setter.Value>
</Setter>
<Setter Property="Fill" Value="Green"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Rectangle.Style>
</Rectangle>
<TextBlock Grid.Row="1" Grid.Column="0" Text="{Binding AutomorphismText}" Margin="2" Style="{StaticResource WhiteCaptionTextStyle}" ToolTipService.InitialShowDelay="1000">
<TextBlock.ToolTip>
<TextBlock Text="{Binding AutomorphismTooltip}" Foreground="GhostWhite" Margin="1"/>
</TextBlock.ToolTip>
</TextBlock>
<TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding AutomorphismCount}" Margin="5 0" VerticalAlignment="Bottom" TextAlignment="Center" FontWeight="Bold" FontSize="18" Foreground="{StaticResource Yellow}" MinWidth="100"/>
</Grid>
</Grid>
</Grid>
</Window>