2010-05-21 72 views
0

我需要一個可視化完全可定製的按鈕,但具有自定義邏輯來發布事件並基於它已註冊的事件管理其可視狀態。C# - Silverlight - 自定義控件或用戶控件?

當我說可視化定製時,我的意思是我應該既可以在xaml中創建按鈕,也可以通過綁定到提供的樣式來設置它的樣式。或者我可以創建按鈕的實例,並通過將參數傳遞給備用構造函數來設置樣式。或者通過調用按鈕類上的方法來設置樣式。

我不打算更換控件模板,它應該是一個按鈕。任何人都可以指出我的一些代碼示例嗎?

+0

「視覺上完全可定製」和「我不打算更換控件模板」,這是什麼?它不能兼而有之。 – AnthonyWJones 2010-05-22 07:07:20

回答

0

如果您不想讓控件模板化(我通常會建議您這樣做,但您不必),而不是使用UserControl會很好。公開應用於特定控件的ButtonStyle屬性的簡單用戶控件應該可以解決您的需求。

+0

把它變成一個自定義控件會花費更多的工作嗎? – cmaduro 2010-05-21 19:39:40

+0

如何通過構造函數提供其模板? – cmaduro 2010-05-21 19:40:10

+0

我想要說明內部處理的控件(活動/非活動)狀態,但不適用於所有類型的控件。假設用戶想要加載一個ViewB點擊一個按鈕,那麼這個按鈕將被渲染爲活動的。如果用戶需要從下拉菜單中選擇ViewB,則不存在活動狀態。 – cmaduro 2010-05-21 19:43:54

0

完全取決於您的應用程序。我比UserControl創建ContentControl衍生產品的次數要多得多,如果僅僅是希望它們在將來可能有用。

我寫之前:

用戶控件是被簡單設計時採用優化的內容的控制,通常在應用程序中共享,但不與其他應用程序。

組件庫不應該包含UserControl實現。