2011-05-18 119 views
1

完全不熟悉Silverlight中的自定義控件創建。在Windows Phone 7中爲擴展的TextBox控件設計樣式

我想要一個從TextBox控件繼承的自定義控件。我找到了大量的教程,但他們都做了像水印文字或其他附加屬性的東西。我的目標只是在使用KeyUp事件輸入時操作文本,因此可見我的TextBox與標準TextBox沒有區別。

我創建了一個類文件並從TextBox繼承,但在運行時文本框不顯示。從我可以收集的內容中,我需要一個themes/generic.xaml文件,但是我所看到的所有示例都包含了其他屬性的樣式,而在我的無知中,我不知道要更改和/或刪除什麼。

我希望有人能指出我一個普通的簡潔文本框樣式定義或這樣的教程。

+0

下面的問題得到了回答,但是,如果有人正在尋找一個通用控件模板,可以在這裏找到它們:http://msdn.microsoft.com/en-us/library/cc645061(v=VS。 95).aspx – 2011-05-18 15:35:06

回答

1

你所描述的應該工作,我只是嘗試了以下和TextBoxEx呈現就好:

public class TextBoxEx : TextBox 
{ 
    protected override void OnKeyUp(KeyEventArgs e) 
    { 
    base.OnKeyUp(e); 
    } 
} 

你並不需要添加generic.xaml文件。該文件用於提供定義控件外觀的模板。您指定設置以下屬性,控件的默認外觀:

DefaultStyleKey = typeof(MyControl); 

然而,正如上述TextBoxEx不設置此屬性,它使用從文本框繼承了價值,因此它繼承了相同的模板(即,查找)。

+0

哇。這就是我原來所做的(或者我認爲),但我必須在一路上的某處交叉電線。我刪除了generic.xaml和DefaultStyleKey,現在它工作。 – 2011-05-18 15:33:44

+0

酷 - 很高興它工作:-) – ColinE 2011-05-18 15:34:40