Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <Window x:Class="WPF_Lab1_Wed.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:local="clr-namespace:WPF_Lab1_Wed"
- mc:Ignorable="d"
- ResizeMode="NoResize"
- Title="Windows Presentation Foundation – Lab #1" Height="575" Width="400">
- <Window.Resources>
- <!--For Description-->
- <ControlTemplate x:Key="validationTemplate">
- <DockPanel>
- <Border Name="validationBorder" BorderBrush="Red" BorderThickness="2" Padding="1" CornerRadius="3">
- <Border.Resources>
- <Storyboard x:Key="_blink">
- <ColorAnimationUsingKeyFrames AutoReverse="True" BeginTime="00:00:00"
- Storyboard.TargetName="validationBorder"
- Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)"
- RepeatBehavior="Forever">
- <SplineColorKeyFrame KeyTime="00:00:00.5" Value="#00FF0000"/>
- </ColorAnimationUsingKeyFrames>
- </Storyboard>
- </Border.Resources>
- <Border.Triggers>
- <EventTrigger RoutedEvent="FrameworkElement.Loaded">
- <BeginStoryboard Storyboard="{StaticResource _blink}" />
- </EventTrigger>
- </Border.Triggers>
- </Border>
- </DockPanel>
- </ControlTemplate>
- <!--For Description-->
- <Style x:Key="highlightValidationError" >
- <Style.Triggers>
- <Trigger Property="Validation.HasError" Value="True">
- <Setter Property="TextBox.Background" Value="Pink" />
- </Trigger>
- </Style.Triggers>
- </Style>
- <!--For Placeholder-->
- <Style x:Key="placeHolder" TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type TextBox}">
- <Grid>
- <TextBox Text="{Binding Path=Text,
- RelativeSource={RelativeSource TemplatedParent},
- Mode=TwoWay,
- UpdateSourceTrigger=PropertyChanged}"
- x:Name="textSource"
- Background="Transparent"
- Panel.ZIndex="2" />
- <TextBox Text="{TemplateBinding Tag}" Background="{TemplateBinding Background}" Panel.ZIndex="1" HorizontalContentAlignment="Center" FontSize="14">
- <TextBox.Style>
- <Style TargetType="{x:Type TextBox}">
- <Setter Property="Foreground" Value="Transparent"/>
- <Style.Triggers>
- <DataTrigger Binding="{Binding Path=Text, Source={x:Reference textSource}}" Value="">
- <Setter Property="Foreground" Value="LightGray"/>
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </TextBox.Style>
- </TextBox>
- </Grid>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- </Window.Resources>
- <!--Start From Here-->
- <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
- <StackPanel Orientation ="Vertical">
- <Label FontSize="20" HorizontalAlignment="Center">New IT Job Offer</Label>
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="auto"></RowDefinition>
- <RowDefinition Height="auto"></RowDefinition>
- <RowDefinition Height="auto"></RowDefinition>
- </Grid.RowDefinitions>
- <GroupBox Header="Job Title">
- <TextBox Style="{StaticResource placeHolder}" Tag="Job Title" ></TextBox>
- </GroupBox>
- <GroupBox Header="Experience" Grid.Row="1">
- <Grid Margin="50,0,50,0">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="*"></ColumnDefinition>
- <ColumnDefinition Width="*"></ColumnDefinition>
- <ColumnDefinition Width="*"></ColumnDefinition>
- </Grid.ColumnDefinitions>
- <RadioButton GroupName="Experience">Junior</RadioButton>
- <RadioButton GroupName="Experience" Grid.Column="1">Middle</RadioButton>
- <RadioButton GroupName="Experience" IsChecked="True" Grid.Column="2">Senior</RadioButton>
- </Grid>
- </GroupBox>
- <GroupBox Header="Category" Grid.Row="2">
- <ComboBox SelectedIndex="0" Name="categoryCombo" ></ComboBox>
- </GroupBox>
- </Grid>
- <GroupBox Header="Description" Height="100">
- <TextBox Validation.ErrorTemplate="{StaticResource validationTemplate}" Style="{StaticResource highlightValidationError}">
- <TextBox.Text>
- <Binding Path="SomeString" UpdateSourceTrigger="PropertyChanged">
- <Binding.ValidationRules>
- <local:StringLengthValidationRule MaxLength="5" />
- </Binding.ValidationRules>
- </Binding>
- </TextBox.Text>
- </TextBox>
- </GroupBox>
- <Grid>
- <Grid.ColumnDefinitions >
- <ColumnDefinition Width ="*" />
- <ColumnDefinition Width ="*" />
- <ColumnDefinition Width ="100" />
- </Grid.ColumnDefinitions >
- <GroupBox Header="Salary From" Margin="0,0,5,0">
- <TextBox Name="safrom" HorizontalContentAlignment="Right"></TextBox>
- </GroupBox>
- <GroupBox Header="Salary To" Grid.Column="1" Margin="0,0,5,0">
- <TextBox Name="sato" HorizontalContentAlignment="Right"></TextBox>
- </GroupBox>
- <GroupBox Header="Currency" Grid.Column="2">
- <ComboBox SelectedIndex="0" Name="currencyCombo"></ComboBox>
- </GroupBox>
- </Grid>
- <Grid>
- <Grid.ColumnDefinitions >
- <ColumnDefinition Width ="*"/>
- <ColumnDefinition Width ="*"/>
- </Grid.ColumnDefinitions >
- <GroupBox Header="Date of offer availability:" Margin="0,0,5,0">
- <DatePicker></DatePicker>
- </GroupBox>
- <GroupBox Header="Home Office Days" Grid.Column="1">
- <Grid>
- <Grid.ColumnDefinitions >
- <ColumnDefinition Width ="*" />
- <ColumnDefinition Width ="50" />
- </Grid.ColumnDefinitions >
- <Slider Name ="days"
- Minimum="1"
- Maximum="5"
- Value="0"
- IsSnapToTickEnabled="True"
- TickFrequency="1"/>
- <TextBox Grid.Column ="1" Text ="{Binding ElementName=days, Path=Value, Mode=TwoWay}" />
- </Grid>
- </GroupBox>
- </Grid>
- <Grid>
- <Grid.ColumnDefinitions >
- <ColumnDefinition Width ="*"/>
- <ColumnDefinition Width ="*"/>
- </Grid.ColumnDefinitions >
- <Grid.RowDefinitions>
- <RowDefinition Height="auto"></RowDefinition>
- <RowDefinition Height="auto"></RowDefinition>
- </Grid.RowDefinitions>
- <GroupBox Header="Office Open From" Margin="0,0,5,0">
- <ComboBox SelectedIndex="0" Name="hoursFrom"></ComboBox>
- </GroupBox>
- <GroupBox Header="Office Open To" Grid.Column="1">
- <ComboBox SelectedIndex="0" Name="hoursTo"></ComboBox>
- </GroupBox>
- <Button Height="50" Grid.Row="1" Margin="20,0,5,0" Click="Button_Click">Save</Button>
- <Button Height="50" Grid.Row="1" Grid.Column="1" Margin="0,0,20,0">Clear</Button>
- </Grid>
- </StackPanel>
- </ScrollViewer>
- </Window>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement