【问题标题】:Validation (with custom ErrorTemplate) for a DataTemplateDataTemplate 的验证(使用自定义 ErrorTemplate)
【发布时间】:2011-02-04 13:38:53
【问题描述】:

我想不通这个人/急需帮助。

我有一个 ItemsControl 和一个 DataTemplate 作为 ItemTemplate

<DataTemplate>
    <StackPanel>
       <TextBox Text={Binding Prop1}/>
       <TextBox Text={Binding Prop2}/>
    </StackPanel>
</DataTemplate>

我已经看到了很多将验证应用于单个绑定目标的示例(即仅分别验证每个文本框)。如果有任何错误(Prop1 或 Prop2),我想使用 &lt;AdornedelementPlaceholder/&gt; 对整个 DataTemplate 进行视觉更改,正如我在许多示例中看​​到的那样。

基本上,如果对象中代表我的 DataTemplate 的 DataContext 的任何项目出现问题,有没有办法显示错误?

【问题讨论】:

  • 抱歉,您设法让这个工作正常吗?
  • 哇,我离开了这个项目,忘记了这个问题。我很不优雅,对不起。

标签: .net wpf validation datatemplate datacontext


【解决方案1】:

您可以为这两个绑定定义自定义 ErrorTemplate,将 StackPanel 定义为 Validation.ValidationAdornerSite。 这样,只要检测到错误,就可以装饰 StackPanel 而不是文本框。

查看此链接了解更多详情: Vincent Sibal about validation with ValidationAdornerSite

【讨论】:

    【解决方案2】:

    尝试在 StackPanel 上设置一个 BindingGroup,如下所示,并在每个 TextBox 上设置单独的验证规则。我实际上还没有尝试过,但它应该可以工作。

    <StackPanel>
        <StackPanel.BindingGroup>
             <BindingGroup />
        </StackPanel.BindingGroup>
    
        <TextBox Text={Binding Prop1}/>
        <TextBox Text={Binding Prop2}/>
    </StackPanel>
    

    【讨论】:

      猜你喜欢
      • 2018-03-18
      • 2014-04-16
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-08
      • 1970-01-01
      • 2017-06-01
      相关资源
      最近更新 更多