如何使用wpf将值从一个类传递到另一个类?

时间:2016-07-23 16:40:20

标签: c# wpf

我想将值从一个类文件传递到另一个类。

E.g:

步骤1:

的Class1.cs

public class Class1
    {
        public string LogedInPerson { get; set; }

        public string Name
        {
            get { return this.LogedInPerson; }
            set { this.LogedInPerson = value; }
        }
    }

步骤2:

已在以下方法中指定了值:

test.xaml.cs

public void assignValue()
{
     Class1 obj = new Class1();
     obj.LogedInPerson = "test123";
}

步骤3:

我想从Class2.cs获得“test123”值。

E.g:

public void test()
        {
            string selected_dept = ?? //How to get "test123" from here.
        }

3 个答案:

答案 0 :(得分:3)

您可以拥有包含公共变量的变量类。在变量类中定义class1的实例。

public static class1 myclass=new class1();

在test.xml.cs中设置值

public void assignValue()
{
 myclass.LogedInPerson = "test123";
}
在class2.cs中

public void test()
    {
        string selected_dept = myclass.LogedInPerson;
    }

答案 1 :(得分:2)

Class1方法之外初始化assignValue()

Class1 obj = new Class1();

public void assignValue()
{

     obj.LogedInPerson = "test123";
}
public string returnValue()
{

  return obj.LogedInPerson;
}

如果您的第二个班级名称test.xaml然后将其称为此类,但我认为您不能使用班级名称test.xaml,那么请使用一个好名称,例如:{{1} }

Class2

答案 2 :(得分:0)

我认为这个问题更多的是基于面向对象编程原理的主题,而不是WPF特定功能。因此,我将向您提供非WPF特定答案,因为它将允许我以最直接的方式解决您的问题。

在OOP中,方法可以将结果返回给调用者。所以,例如,

public string GetReturnObject(){

     return "This is a return object";

}

您可以创建一个新对象并将其传递回调用者

public void Test(){

     string data = GetReturnObject(); 

}

现在data将被分配从Test()调用的方法返回的对象。因此,如果通过添加返回类型并将实例化的AssignValue对象传递回调用者来修改Class1方法,则可以获得所需的答案

public Class1 assignValue()
{
     Class1 obj = new Class1();
     obj.LogedInPerson = "test123";
     return obj;
}

希望有所帮助。