Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从不在代码隐藏文件中的类对TextChanged事件调用静态方法_C#_Xaml - Fatal编程技术网

C# 从不在代码隐藏文件中的类对TextChanged事件调用静态方法

C# 从不在代码隐藏文件中的类对TextChanged事件调用静态方法,c#,xaml,C#,Xaml,我正在处理一个WPF应用程序,并试图将一个方法绑定到代码隐藏文件中不存在的TextChanged事件。当该方法位于代码隐藏文件中时,我知道这可以通过使用: TextChanged="MyMethod" 我要做的是使用另一个类中的静态方法(不在代码隐藏文件中)。从理论上讲,这是一种: TextChanged="MyClass.MyOtherMethod" 我试图找出如何引用类和方法,但一直没有找到答案。我似乎不需要创建资源库——有没有办法直接引用我的类?只需创建事件处理程序并从中调用静态方法。

我正在处理一个WPF应用程序,并试图将一个方法绑定到代码隐藏文件中不存在的TextChanged事件。当该方法位于代码隐藏文件中时,我知道这可以通过使用:

TextChanged="MyMethod"
我要做的是使用另一个类中的静态方法(不在代码隐藏文件中)。从理论上讲,这是一种:

TextChanged="MyClass.MyOtherMethod"

我试图找出如何引用类和方法,但一直没有找到答案。我似乎不需要创建资源库——有没有办法直接引用我的类?

只需创建事件处理程序并从中调用静态方法。大概是这样的:

myText.TextChanged += myText_TextChanged;

void myText_TextChanged(object sender, TextChangedEventArgs e)
{
     MyStaticHelper.Execute();
}
public class MyClass
{
    public static void MyOtherMethod(object sender, TextChangedEventArgs e)
    {
        ...
    }
}

您可以在代码隐藏中轻松添加静态事件处理程序:

textBox.TextChanged += MyClass.MyOtherMethod;
假设事件处理程序如下所示:

myText.TextChanged += myText_TextChanged;

void myText_TextChanged(object sender, TextChangedEventArgs e)
{
     MyStaticHelper.Execute();
}
public class MyClass
{
    public static void MyOtherMethod(object sender, TextChangedEventArgs e)
    {
        ...
    }
}

您总是可以在类本身中创建一个新方法,该方法除了调用其他类型中的方法外,什么也不做。但不确定WPF中是否需要这样做;尽管问题是微软太懒了,无法实现这些,所以你必须自己实现。好的方面是,与WPF中的所有内容一样,它是可重用的。