2009-05-25 91 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