2013-03-19 23 views
2

我正在研究WPF應用程序,並試圖將方法綁定到不在代碼隱藏中的TextChanged事件文件。當該方法是在代碼隱藏文件,我知道,這可以通過使用簡單的實現:從不在代碼隱藏文件中的類調用TextChanged事件的靜態方法

TextChanged="MyMethod" 

我所希望做的是使用來自另一個類的靜態方法(而不是在代碼隱藏文件)。一些在理論上看起來像:

TextChanged="MyClass.MyOtherMethod" 

我試圖找出如何引用類和方法,但一直沒能弄明白。看起來我不需要創建一個資源庫 - 有沒有辦法直接引用我的類?

+0

您可以隨時創建類中的新方法除了調用其他類型的方法外,什麼都不做。不知道WPF中是否需要這樣做;不要親自使用它。 – Servy 2013-03-19 19:07:35

+0

[WPF 4.5支持XAML中的事件處理程序聲明中的MarkupExtensions](http://dotnet.dzone.com/articles/wpf-45-%E2%80%93-part-6-markup),雖然問題是微軟懶得實現這些,所以你必須自己實現它。好的一部分就是WPF中的所有東西都是可重用的。 – 2013-03-19 19:09:35

回答

0

你可以很容易地在代碼中添加一個靜態的事件處理程序的背後:

textBox.TextChanged += MyClass.MyOtherMethod; 

鑑於該事件處理程序是這樣的:

public class MyClass 
{ 
    public static void MyOtherMethod(object sender, TextChangedEventArgs e) 
    { 
     ... 
    } 
} 
0

只需創建事件處理程序並從中調用您的靜態方法。事情是這樣的:

myText.TextChanged += myText_TextChanged; 

void myText_TextChanged(object sender, TextChangedEventArgs e) 
{ 
    MyStaticHelper.Execute(); 
} 
相關問題