Добавление всплывающей анимации границ вокруг TextBox в C # wpf - PullRequest
0 голосов
/ 29 июля 2011

Я в настоящее время разрабатываю приложение WPF.Когда пользователь отправляет форму, у меня есть метод, который проверяет, чтобы поля были заполнены, и я хочу, чтобы, если они этого не делают, отображал градиент от красного к белому, проходящий вокруг рамки в виде постепенного исчезновения анимации.

Возможно ли это?

Ответы [ 2 ]

0 голосов
/ 29 июля 2011

Вы можете использовать стиль и триггер данных для достижения этой цели. Таким образом, когда ваше текстовое поле пусто, вы увидите красную рамку и светло-красный фон. Смотрите пример кода ниже:

<Style x:Key="RequiredField" TargetType="{x:Type TextBox}">
    <Style.Triggers>
        <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Text}" Value="">               
            <Setter Property="TextBox.BorderBrush" Value="{StaticResource MySolidBrush}" />            
            <Setter Property="TextBox.Background" Value="{StaticResource MyInnerBrush}"/>               
            <Setter Property="TextBox.ToolTip" Value="This Field is Mandatory"/>
        </DataTrigger>
    </Style.Triggers>
</Style>
0 голосов
/ 29 июля 2011

Используйте проверку в привязке, а затем назначьте шаблон ошибки проверки для TextBox.Вот тот, который делает красный прямоугольник:

<ControlTemplate x:Key="errorTemplate">
    <Canvas Width="{Binding Path=AdornedElement.ActualWidth, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Adorner}}}" 
            Height="{Binding Path=AdornedElement.ActualHeight, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Adorner}}}">
        <Border BorderBrush="Red" BorderThickness="1" >
            <AdornedElementPlaceholder/>
        </Border>
    </Canvas>
</ControlTemplate>

Добавьте это к привязке: Validation.ErrorTemplate = "{StaticResource errorTemplate}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...