4
我們正在編寫TextBox的自定義子類,我們只需要更改樣式的一些基本部分。現在我們知道,當你繼承Control
,通常你應該改變這樣的元數據...如何基於默認控件的樣式創建樣式?
public class EnhancedTextBox : TextBox
{
static EnhancedTextBox()
{
// Commenting this line out lets this use the default TextBox style.
DefaultStyleKeyProperty.OverrideMetadata(
typeof(EnhancedTextBox),
new FrameworkPropertyMetadata(typeof(EnhancedTextBox)));
}
}
這改變了用於該子類類型爲類型本身的關鍵,這意味着它不再變默認的TextBox樣式。沒有biggie ...我們只是評論這一行,它再次工作,因爲鍵仍然設置爲TextBox直接使用的值。
但是,我們想知道,如果我們沒有想改變風格的幾件事情,而不是整個的風格,我們可以簡單地創建新的樣式,並設置其屬性BasedOn
...但做我們在那裏設置?我們不希望手動拉出XAML並創建一個新樣式,給它一個鍵,然後使用StaticResource,但是我們還沒有找到我們可以在那裏設置的內容來說'這是基於TextBox樣式。
我希望它的東西很簡單,但再次,我們還沒有找到它。誰能幫忙?