0
利用現有Binding
類,我們可以寫,從Binding類派生(Silverlight的4.0)
<TextBox Text="{Binding Email, Mode=TwoWay}"/>
因此,我們可以寫任何東西爲電子郵件; Binding
本身沒有有效性檢查。我開始寫一個類BindingMore
從Binding
推導,最終使我能寫,
<TextBox Text="{local:BindingMore Email, Validate=SomeMethod, Mode=TwoWay}"/>
哪裏SomeMethod
一些ICommand
或delegate
將被觸發驗證Email
。這是我的目標,我還沒有寫過。
截至目前,我已經寫了眼前這個代碼,
public class BindingMore : System.Windows.Data.Binding
{
public BindingMore() : base()
{
}
public BindingMore(string path) : base(path)
{
}
}
所以,在這個階段,BindingMore
是完全等同於Binding
,但是當我寫
<TextBox Text="{local:BindingMore Email, Mode=TwoWay}"/>
這是給我運行時錯誤。但是當我寫,
<TextBox Text="{local:BindingMore Path=Email, Mode=TwoWay}"/>
它工作正常。有人可以告訴我爲什麼它在第一種情況下給運行時錯誤?
不幸的是,錯誤沒有顯示。它所展現的是這樣的:
而且,我從XAML以下錯誤消息(即使它建立完美和運行(在第二種情況下)):
類型「地方:BindingMore」像 一樣使用標記擴展,但不從MarkupExtension派生 。
行爲?這是什麼?有些課程?你能給我一些鏈接嗎? – Nawaz 2011-01-19 06:41:35