我是新的wpf。我目前正在開發自定義控件,並且我希望從xaml嚴格定義某些屬性。我想要實現的示例是Effect屬性,它僅顯示「必須在XAML中設置值」文本。有人可以告訴我該怎麼做,或者我應該使用哪個屬性?在此先感謝在Visual Studio屬性面板上禁用屬性
回答
您需要扶養性能
http://msdn.microsoft.com/en-us/library/ms752914.aspx
public static readonly DependencyProperty IsSpinningProperty =
DependencyProperty.Register(
"IsSpinning", typeof(Boolean),...);
public bool IsSpinning
{
get { return (bool)GetValue(IsSpinningProperty); }
set { SetValue(IsSpinningProperty, value); }
}
或只是效果添加到上你的新控件的XAML:如果你想隱藏的屬性
<local:NewControl>
<local:NewControl.Effect>
<DropShadowEffect/>
</local:NewControl.Effect>
</local:NewControl>
屬性面板,你可以使用BrowsableAttribute實現它:
可視化設計器通常在屬性窗口中顯示那些沒有可瀏覽屬性或者用值爲true的BrowsableAttribute構造函數標記的成員。這些成員可以在設計時進行修改。 標記爲值爲false的BrowsableAttribute構造函數的成員不適合進行設計時編輯,因此不會顯示在可視化設計器中。默認值是true。
[Browsable(false)]
public int HiddenProperty {
get {
// Insert code here.
return 0;
}
set {
// Insert code here.
}
}
將Browsable設置爲false將使其完全隱藏,這意味着在使用設計器時,用戶可能不知道它存在。我想讓它仍然顯示在屬性面板上,但用戶必須輸入XAML代碼才能設置值。 – Araym 2011-04-21 09:55:43
好的。然後,您需要使用另一個屬性來更改將在「屬性面板」中編輯屬性時要使用的設計器。我過去使用過它,但現在我無法訪問該代碼庫並找到它的名稱。 – StanislawSwierc 2011-04-21 10:08:49
我無法在代碼中檢查它,但據我所知,TypeDescriptionProviderAttribute和CustomTypeDescriptor是組合方式。 – StanislawSwierc 2011-05-02 22:20:18
- 1. 在Visual Studio的屬性面板中更改用戶控件的對象屬性
- 2. Visual Studio Dock屬性
- 3. Eclipse屬性面板禁用,只彈出
- 4. 禁用TypeScript構建屬性面板
- 5. Visual Studio 2015屬性頁無法打開Visual Studio 2010屬性
- 6. 用於Visual Studio的IProvideClassInfo用於屬性面板的AddIn爲
- 7. Visual Studio屬性頁面環境變量
- 8. Microsoft Visual Studio 2015的屬性頁面
- 9. Typescript visual Studio項目屬性
- 10. Visual Studio項目屬性
- 11. Visual Studio Designer附加屬性
- 12. Visual Studio調試屬性
- 13. Visual Studio配置屬性
- 14. Visual Studio 2010屬性搜索
- 15. Visual Studio 2010屬性幫助
- 16. Visual Studio 2008 cl.exe屬性openmp
- 17. 在Visual Studio 2010中使用屬性表?
- 18. Visual Studio 2010屬性面板文本對齊到右邊
- 19. WPF屬性面板類似於Visual Studio的
- 20. 自定義屬性與Visual Studio的屬性窗格中的子屬性
- 21. visual studio 2010用戶宏屬性表
- 22. Visual Studio忘記引用HTML屬性
- 23. 在Visual Studio中創建類屬性
- 24. 在Visual Studio中擴展屬性窗口
- 25. 在Visual Studio中導出屬性表?
- 26. Visual Studio屬性表保存在哪裏?
- 27. 不能在Visual Studio項目屬性
- 28. 禁用客戶端屬性的Visual Studio 2010 Html格式選項
- 29. Visual Studio 2012項目屬性編輯器被禁用
- 30. Jquery屬性禁用
我正在使用DependencyProperty。我想實現的目的是讓用戶不能通過Visual Studio屬性面板編輯它的值。 – Araym 2011-04-21 09:52:36