作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果文本框有错误,我已经在我的 ViewModel 中实现了 IDataErrorInfo 以返回一个字符串。
public string this[string columnName]
{
get { return "Error-- This is a long error message - sd"; }
}
但是此错误消息位于 UI 上的其他控件后面,如下所示。
<Window x:Class="Test.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="600" Width="600">
<Window.Resources>
<ControlTemplate x:Key="validationTemplateNew">
<DockPanel LastChildFill="True">
<TextBlock Name="ErrorText" DockPanel.Dock="Bottom" Foreground="White" Background="Red"
FontSize="12" Padding="2" FontFamily="Trebuchet MS"
Margin="5,5,0,0"
TextWrapping="Wrap"
Text="{Binding [0].ErrorContent}" ></TextBlock>
<AdornedElementPlaceholder Name="ErrorTextBox" />
</DockPanel>
</ControlTemplate>
<Style x:Key="ValidationStyle" TargetType="{x:Type TextBox}">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="True">
<Setter Property="BorderBrush" Value="Red" />
<Setter Property="BitmapEffect">
<Setter.Value>
<BitmapEffectGroup>
<OuterGlowBitmapEffect GlowColor="Red" GlowSize="3" Noise="0.6"></OuterGlowBitmapEffect>
</BitmapEffectGroup>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid>
<ItemsControl Name="ItemCtrl">
<AdornerDecorator>
<TextBox
FontSize="11"
Margin="10"
Width="250"
VerticalAlignment="Center"
Text="{Binding Path=StrText, ValidatesOnDataErrors=True,
UpdateSourceTrigger=PropertyChanged}"
Validation.ErrorTemplate="{StaticResource validationTemplateNew}"
Style="{StaticResource ValidationStyle}"
>
</TextBox>
</AdornerDecorator>
<TextBox Width="250" Text="ASDFASFASDFASDFASDFASDFASDF"/>
<TextBox Width="250" Text="ASDFASFASDFASDFASDFASDFASDF"/>
<TextBox Width="250" Text="ASDFASFASDFASDFASDFASDFASDF"/>
<TextBox Width="250" Text="ASDFASFASDFASDFASDFASDFASDF"/>
<TextBox Width="250" Text="ASDFASFASDFASDFASDFASDFASDF"/>
</ItemsControl>
</Grid>
</Window>
请让我知道如何使用 AdornerDecorator 以便错误消息与其他控件重叠并且不会落后。
最佳答案
在 AdornerDecorator 上添加 Grid.ZIndex 应该就足够了
<Grid>
<ItemsControl Name="ItemCtrl">
<AdornerDecorator Grid.ZIndex="1">
关于WPF- 验证 - 由于 AdornerDecorator,验证错误消息落后于其他控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4552313/
我正在使用 IDataErrorInfo 来验证和指示我的文本框中的错误。我发现我必须为文本框按一次 Tab 键,为装饰装饰器按一次 Tab 键。 我有一个错误模板:
如果文本框有错误,我已经在我的 ViewModel 中实现了 IDataErrorInfo 以返回一个字符串。 public string this[string columnName]
我正在为 Win 8 开发类似绘画的应用程序。我正在使用 this WPF 应用作为引用。 它使用 AdornerDecorator 和 Thumb 类来移动和调整组件大小;这些在 WinRT 中可用
我是一名优秀的程序员,十分优秀!