2009-05-08 14 views
1

DataFromがAutoGenerateFieldsなしスタイルで正常に動作しますが、私はこの編集モードでデータフォームを起動する

Style x:Key="FieldTextBoxStyle" TargetType="TextBox"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="TextBox"> 
       <Grid x:Name="RootElement"> 
           <Grid.Resources> 
            <Storyboard x:Key="Normal State"/> 
            <Storyboard x:Key="Focused State"/> 
           </Grid.Resources> 
           <ScrollViewer x:Name="ContentElement" Background="Transparent" Padding="{TemplateBinding Padding}" Margin="1,1,1,1"> 

           </ScrollViewer> 

       </Grid> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

この

DataForm dForm = new DataForm() { AutoGenerateFields = false, AutoEdit = true, AutoCommit = true, CommandButtonsVisibility = DataFormCommandButtonsVisibility.None, Foreground = new SolidColorBrush(Colors.Black), Header = "Basic Infomation" }; 

dForm.Fields.Add(new DataFormTextField() { FieldLabelContent = "Company Name", Binding = new Binding("Name"), EditingElementStyle = Resources["FieldTextBoxStyle"] as Style }); 

ようDataFormTextFieldのEditingElementStyleにテキストボックスのスタイルを追加したとき、私は、フォームが欲しいですボタンをクリックすることなく編集モードで開始することができます。しかし、名前が必要なので、

[Required] 

公開ストリング名;

名前がデフォルトで空であるため、バインディングによってエラーが発生します...私のスタイルが間違っていますか?

+0

私がいます同様の問題。フィールドを必要とするオブジェクトにデータフォームをバインドします。 AutoEditモードでは、最初のフィールドの検証が自動的に実行されます。 – ChadT

答えて

0

私は後で私の誤りを発見し、よくそれはあなたのクラスがエンティティークラスを継承する必要があり、それを修正するために、私のために働いた...

public class FixError : System.Windows.Ria.Data.Entity 
{ 
    private string _Name; 

    [Required] 
    public string Name 
    { 
     get 
     { 
      return this._Name; 
     } 
     set 
     { 
      if ((this._Name != value)) 
      { 
       this.ValidateProperty("Name", value); 
       this.RaiseDataMemberChanging("Name"); 
       this._Name = value; 
       this.RaiseDataMemberChanged("Name"); 
      } 
     } 
    } 
} 

そのような何か...

関連する問題