Исходя из ответа, данного в этом вопросе, я могу ответить sh моим текстом ошибки.
<ControlTemplate x:Key="ErrorTemplate">
<StackPanel Orientation="Horizontal">
<AdornedElementPlaceholder x:Name="textBox"/>
<ItemsControl ItemsSource="{Binding}" VerticalAlignment="Center" HorizontalAlignment="Center">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding ErrorContent}" Foreground="Red" Margin="5,0,0,0">
<TextBlock.Triggers>
<EventTrigger RoutedEvent="Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="1" To="0" AutoReverse="False" Duration="0:0:0.5" RepeatBehavior="3x" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBlock.Triggers>
</TextBlock>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</ControlTemplate>
В моем приложении есть количество вкладок. TextBlock
находится в одной вкладке, проблема, с которой я сейчас сталкиваюсь, заключается в том, что всякий раз, когда я переключаюсь на эту вкладку, ErrorText
мигает, если это было показано ранее. Я думаю, что это потому, что я указываю RoutedEvent="Loaded"
. Я хочу, чтобы ошибка отображалась только в том случае, если она явно установлена снова. Есть ли способ добиться этого с помощью самого xaml?
Просмотрите логи модели c, чтобы указать строку ошибки, приведенную ниже.
public string this[string columnName]
{
get
{
if (columnName == nameof(this.CurrentValue))
{
if (this.ShowErrorMessage)
{
return ValidationErrorMessage;
}
}
return null;
}
}