2009-05-25 63 views
0

我有一个SL3应用程序,我在其中使用DataForm作为我的数据输入。我希望我的表单以我喜欢的方式观看,因此,我使用<dataControls:DataForm.EditTemplate>,并且在模板内部我拥有了我的漂亮外观设计。Silverlight 3验证带模板的DataForm

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

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

任何帮助表示赞赏。

回答

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> 
+0

东西非常相似,是的。 – 2009-05-25 23:10:33