我已经使用以下错误装饰器模板很长时间了:
<ControlTemplate x:Key="ErrorAdornerTemplateStyle" TargetType="{x:Type Control}">
<Grid ClipToBounds="False" >
<Border BorderBrush="Red" BorderThickness="2" Margin="-1"
ToolTip="{Binding ElementName=adornedElement, Path=AdornedElement.(Validation.Errors).CurrentItem.ErrorContent }">
<AdornedElementPlaceholder Name="adornedElement" />
</Border>
<Polygon Points="15,15 15,0 0,0"
Fill="Red"
HorizontalAlignment="Right"
VerticalAlignment="Top"
ToolTip="{Binding ElementName=adornedElement, Path=AdornedElement.(Validation.Errors).CurrentItem.ErrorContent }"/>
</Grid>
</ControlTemplate>
..。而且它在运行时运行正常(据我所知)。
但是,在过去一个月对VS、WPF和NET Standard 2进行了一系列升级之后,我注意到我的syles xaml文件中的intellisense给了我以下CurrentItem
标识符错误:
在'ReadOnlyObservableCollection'.类型中找不到属性“CurrentItem”
这只是一个讨厌的VS bug,还是VS提醒我在WPF子系统中需要适应的某种更改?
发布于 2017-11-29 15:34:18
ReadOnlyObservableCollection
本身不公开CurrentItem
属性。相反,CurrentItem
是在WPF中绑定项目集合时内部创建的CollectionView
的概念。
通过在绑定路径中使用CurrentItem
,集合中有一些/
。
将绑定路径更改为Path=AdornedElement.(Validation.Errors)/ErrorContent
以利用此支持。
https://stackoverflow.com/questions/47185638
复制相似问题