2012-10-11 74 views
1

我正在擴展我自己的自定義控件,它擴展了UserControl類。Visual Inheritance,擴展自定義控件的設計時支持

我可以在擴展類的設計器中看到所有元素,但擴展自定義控件的所有屬性都顯示爲禁用,並且在使用鼠標選擇元素時出現「鎖定」圖標。

我該如何解決這個問題?我希望能夠從設計人員修改這些屬性。

編輯:自定義控件的定義,它從UserControl擴展。

namespace Wizard 
{ 
    [Designer(typeof(Wizard.StepDesigner))] 
    [DefaultProperty("TitlePanel, NavigationPanel")] 
    public partial class Step : UserControl 
    { 
     public Step() 
     { 
      InitializeComponent(); 
     } 

     [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] 
     public Title TitlePanel 
     { 
       get 
       { 
        return this.title1; 
       } 
       set 
       { 
        this.title1 = value; 
       } 
      } 

     [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] 
     public Panel ContentPanel 
     { 
      get 
      { 
       return this.contentPanel; 
      } 
     } 

     [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] 
     public Navigation NavigationPanel 
     { 
      get 
      { 
       return this.navigation1; 
      } 
     } 
    } 

    internal class StepDesigner : ParentControlDesigner 
    { 
     public override void Initialize(System.ComponentModel.IComponent component) 
     { 
      base.Initialize(component); 

      if (this.Control is Step) 
      { 
       Step control = (Step)this.Control; 
       this.EnableDesignMode(control.TitlePanel, "TitlePanel"); 
       this.EnableDesignMode(control.ContentPanel, "ContentPanel"); 
       this.EnableDesignMode(control.NavigationPanel, "NavigationPanel"); 
      } 
     } 
    } 
} 
+1

他們的修飾符是保護還是公開的? –

+0

他們是公開的。 –

+2

請發佈其中一個或兩個屬性的屬性定義。 –

回答

1

正如我已經在評論中指出,該屬性的修飾語都設置爲私有,並將其轉變爲保護和重建固定「問題」的解決方案。

相關問題