【发布时间】:2013-01-08 10:59:24
【问题描述】:
我已经实现了继承自 ContentControl 的自定义控件,它具有名为“CanNavigate”(bool) 的依赖属性。
在 Window.xaml 中,我有一个文本框,其中包含一些 ValidationRule 检查文本框是否为空。我想根据 TextBox.Validation.HasError 将“CanNavigate”设置为真/假,如下代码所示:
<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding RelativeSource={RelativeSource Self},
Path=(Validation.Errors)[0].ErrorContent}"/>
<Setter Property="{Binding CanNavigate}" Value="false"></Setter>
</Trigger>
</Style.Triggers>
</Style>
使用此代码,会出现错误“'Property' 属性不能在 Setter 上使用标记扩展或属性元素语法。只有 Value 属性可以使用标记扩展或属性元素语法。对象 'System.Windows.Setter' 中的错误标记文件”
有没有办法可以根据 TextBox.validationError 设置 CanNavigate 属性。
问候, 帕蒂尔
【问题讨论】:
标签: wpf validation binding dependency-properties datatrigger