【发布时间】:2019-01-23 16:55:02
【问题描述】:
我在 XAML 中有一个与 Validation.Errors 的绑定。 有时这似乎是一个字符串,有时它是一个字符串列表。
如果它是单个字符串,则以下代码可以正常工作。 对于字符串列表,我只需将“System.Generic.List”作为项目控件中的一个项目。
如果我将 DisplayMemberPath 更改为“ErrorContent[0]”,如果它是一个列表,它会成功显示第一个字符串,但如果它恰好是一个字符串,我当然只会得到第一个字符。
问题。如何让它在 XAML 中处理这两种情况(单字符串类型和列表类型)?
<ItemsControl
x:Name="ErrorDisplay"
ItemsSource="{TemplateBinding Validation.Errors}"
DisplayMemberPath="ErrorContent"
Foreground="Red"
FontSize="12">
</ItemsControl>
【问题讨论】:
-
能否重新实现 Validation.Errors 以返回可预测的类型?如果没有,您可能需要一个类型转换器:docs.microsoft.com/en-us/dotnet/framework/xaml-services/…
-
谢谢我研究了一个转换器,但使用下面 Alex.Wei 推荐的 DataTemplate 选择器更容易。
标签: .net wpf typescript xaml binding