Silverlight 3验证DataForm与模板

时间:2009-05-25 01:03:54

标签: validation silverlight-3.0 dataform

我有一个SL3应用程序,我在其中使用DataForm进行数据输入。我希望我的表单以我喜欢的方式显示,因此,我使用<dataControls:DataForm.EditTemplate>并在模板中使用我的外观设计。

主要问题是,在模板内部我必须使用普通控件(如TextBox)而不是“字段”控件(如DataFormTextField)。当它得到验证时,它们的工作方式几乎相同。

如果我在它们绑定的属性的setter中抛出异常,它们都会显示正确的红色符号和错误,但如果我通过验证属性(例如[Required(ErrorMessage = "can't be empty!")])装饰属性,则仅DataFormTextField控件而不是TextBox控件将显示错误。在这两种情况下,我的ErrorSummary控件在其集合中都有错误,所以我可以看到错误被考虑在内......

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您使用的是模板字段吗?

   <df:DataFormTemplateField FieldLabelContent="Year"> 
      <df:DataFormTemplateField.DisplayTemplate> 
        <DataTemplate> 
          <TextBox Text="{Binding Year}" HorizontalAlignment="Left" /> 
        </DataTemplate> 
      </df:DataFormTemplateField.DisplayTemplate> 
      <df:DataFormTemplateField.EditTemplate> 
        <DataTemplate> 
          <TextBox Text="{Binding Year}" HorizontalAlignment="Left" /> 
        </DataTemplate> 
      </df:DataFormTemplateField.EditTemplate> 
    </df:DataFormTemplateField>