2009-05-08 4 views
1

DataFrom는 AutoGenerateFields없이 스타일로 잘 작동하지만 나는이시작 DATAFORM는

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> 

처럼 DataFormTextField의 EditingElementStyle에 텍스트 상자 스타일을 추가 할 때이

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 }); 

나는 양식을 원하는 버튼을 클릭하지 않고도 편집 모드에서 시작할 수 있습니다. 하지만 이름이 필요하기 때문에

[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"); 
      } 
     } 
    } 
} 

뭔가 ...