Я проверен на текстовое поле.WPF-код проверки подлинности на стороне клиента
Но я хочу сделать некоторый стиль на текстовом поле на различной фазе.
Когда моя страница загружается в первый раз, текстовое поле выглядит следующим образом.
Когда пользователь начинает вводить значение, а если значение неверно, весь фон текстового поля будет красным.
Когда пользователь вводит правое значение, текстовое поле имеет GREEN Border с 2PX.
Я использую следующий стиль:
<Style x:Key="TxtEmailStyle" TargetType="{x:Type TextBox}">
<Setter Property="Background" Value="#2d2f34"></Setter>
<Setter Property="Foreground" Value="White"></Setter>
<Setter Property="TextBlock.FontSize" Value="14" />
<Setter Property="Padding" Value="5" />
<Setter Property="BorderBrush" Value="Green"></Setter>
<Setter Property="BorderThickness" Value="2"></Setter>
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<DockPanel LastChildFill="True">
<TextBlock DockPanel.Dock="Right"
Foreground="Orange"
FontSize="12pt">
!!!!
</TextBlock>
<Border BorderBrush="Green" BorderThickness="1">
<AdornedElementPlaceholder />
</Border>
</DockPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsFocused" Value="true">
<Setter Property="Background" Value="#56585e" />
</Trigger>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Background" Value="#07839a" />
</Trigger>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding RelativeSource={x:Static RelativeSource.Self},
Path=(Validation.Errors)[0].ErrorContent}"/>
<Setter Property="Background" Value="#cb0b38"></Setter>
</Trigger>
<!--<Trigger Property="Validation.HasError" Value="false">
<Setter Property="BorderBrush" Value="Green"></Setter>
<Setter Property="BorderThickness" Value="2"></Setter>
<Setter Property="Background" Value="#2d2f34"></Setter>
</Trigger>-->
</Style.Triggers>
</Style>
Ниже мой TextBox
<TextBox x:Name="txtPlayerID" HorizontalAlignment="Left" Height="30" TextWrapping="Wrap"
VerticalContentAlignment="Center"
Style="{StaticResource TxtEmailStyle}" VerticalAlignment="Top" Width="228" FontFamily="Arial Regular"
RenderTransformOrigin="0.408,-2.455" FontSize="14"
Margin="27,0,0,0">
<TextBox.Text>
<Binding Path="playerID" Source="{StaticResource Register}"
ValidatesOnDataErrors="True" NotifyOnValidationError="True"
UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<ExceptionValidationRule/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
Вопрос в том, что вы сделали это или хотите сделать это? – Shrivallabh
@ Shrivallabh: Я хочу изменить стиль рамки TextBox на основе пользовательского ввода: - если правильный ввод Сделать зеленым, если неправильный вход Background Red, и если нет ввода, то стиль по умолчанию для текстового поля – ujjaval
Вы можете показать свое свойство зависимости который имеет 'playerID'? –