2009-06-28 2 views
2

나는 레이블 UserControl을 'A'를 가지고 있고,이 속성 :밀접하게 바인딩 된 사용자 정의 컨트롤에서 디자인 타임에 속성을 다시 설정하지 않으려면 어떻게해야합니까?

/// <summary> 
    /// Gets or Sets the text of the control 
    /// </summary> 
    [ 
     Browsable(true), 
     EditorBrowsable(EditorBrowsableState.Always), 
     Category("Appearance") 
    ] 
    public override string Text { 
     get { 
      return uxLabel.Text; 
     } 
     set { 
      uxLabel.Text = value; 
     } 
    } 

내가 다음에 UserControl을 'A'를 가지고 UserControl을 'B'를 가지고 있고, 나는에 텍스트 속성 설정 "내 예 라벨 "디자이너. 그런 다음 UserControl 'B'그것에있는 내 MainForm 있습니다.

빌드 나 실행을 할 때마다 UserControl 'A'의 Text 속성이 기본값으로 다시 설정됩니다. 나는 이것이 재 작성을하고 있기 때문에 UserControl 'A'와 'B'를 재 빌드하여 문제를 일으킨다 고 생각합니다.

응용 프로그램에서 단단히 바인딩 된 컨트롤 및 폼을 사용하여 작업 할 때 이러한 유형의 동작을 피하기 위해 패턴을 디자인하는 더 좋은 방법에 대해 어떻게 생각합니까?

답변

6

나는 동일한 문제가있었습니다.

이 시도 :

[Category("Appearance")] 
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] 
public override string Text 
{ 
    get { return uxLabel.Text; } 
    set { uxLabel.Text = value; } 
}