无法使用从窗口1中的文本框中获取的文本在窗口2

时间:2016-05-12 10:42:56

标签: c# wpf

我已经制作了window1的对象

MainWindow win1_obj = new MainWindow();

用它来访问window1中Public

的变量
public int banks, banks_size, timer_time, threshold;

使用onClick事件从window1

中的文本框中为它们分配值
 if (checkbox_enable_banks.IsChecked == true)
        {
            banks = int.Parse(txtbox_banks_numbers.Text);
        }
        if(checkbox_enable_size.IsChecked==true)
        {
            banks_size = int.Parse(txtbox_bank_size.Text);
        }
        if (checkbox_enable_time.IsChecked == true)
        {
            timer_time = int.Parse(txtbox_timer_time.Text);
        }
        if (checkbox_enable_threshold.IsChecked == true)
        {
            threshold = int.Parse(txtbox_power_threshold.Text);
        }
        else
        {
            threshold = 20;
        }

但在window2中使用win1_obj与它们一起访问时,与以下方法一样

if (win1_obj.timer_time > 0)
        {
            seconds = win1_obj.timer_time;

        }

label_threshold.Content = win1_obj.threshold +"%";

它不做任何事情,既不会timer_time seconds也不会threshold vlue label_threshold.Content

1 个答案:

答案 0 :(得分:0)

您必须在MainWindow中为属性提供值,这样您才能通过window2的实例访问MainWindow中的值

MainWindow win1_obj = new MainWindow();

请记住,new创建对象实例意味着将为该特定对象分配新的内存位置。如果您想访问这些属性,只需添加static添加public static int banks;,如创建一个类并提供静态属性。

public class WindowClass
{
   public static int banks; 
    //and other properties 

}

你可以直接用类名和属性来获取和设置值,例如

WindowClass.banks