| 在WPF中,我们的常常涉及到多个窗口之间传递参数的问题,那么该怎么传呢? 答:在窗口的构造函数中添加想要传递的参数。(我表达不好,请看下面代码。) 在主窗口中单机button打开一个新的子窗口。  
 //主窗口类部分如下:
 public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            NewWindow newWindow = new NewWindow(string str);
            newWindow.ShowDialog();
        }
    }
   子窗口类中如下:  
  public partial class NewWindow : Window
    {
        public string str{ get; set; }
        public NewWindow(string  strRef)
        {
            str = strRef;
            InitializeComponent();
            
        }
       //可以对str变量引用了。      
    }
   注意:我们这传递的参数如果是值类型(int,char,double)等,那么数据的传递就是单向的,即只能从父窗口到子窗口。 所以,如果想要实现父窗口于子窗口之间可以互相传递参数,那么我们必须要通过传递引用类型的变量来实现(string类型除外)。 至于为什么,应该就是参数传递在底层的操作造成的。(可能和c,c++中的传递方式一样,即,将传递的参数的拷贝传递过去, 我猜的。可能和底层操作不一样,但是最起码表象是相同的。) |