簡體   English   中英

Silverlight擴展控件中的模板

[英]Templates in extended Silverlight controls

我想擴展第三方控件,它是一個ComboBox(所以它不是標准的Silverlight控件,但這對這個問題無關緊要)。 為此,我向控件項目中添加了一個新的模板控件,然后將新控件更改為繼承自ComboBox而不是Control。 已經在generic.xaml文件中為我創建了一種樣式,因此我刪除了所插入的默認邊框內容,然后為PopupTemplate添加了一個屬性設置器。

我的問題是,以這種方式執行操作時,組合框不再(可見)呈現在silverlight應用程序中。 但是,在我的擴展程序的構造函數中,如果我注釋掉該行

this.DefaultStyleKey = typeof(MyComboBox);

並將PopupTemplate xaml位放入Silverlight主頁中,即可正確呈現。 我希望在控件庫中聲明彈出模板,但這是否意味着我也必須定義常規的Template屬性? 我認為我未明確指定的任何內容都應該僅繼承自基本控件是錯誤的嗎?

控件只能具有一種默認樣式。 您需要為新的MyComboBox將基本控件的整個默認樣式復制到MyComboBox然后進行相應的調整。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM