WPF多窗口傳參解決方案


在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++中的傳遞方式一樣,即,將傳遞的參數的拷貝傳遞過去,

我猜的。可能和底層操作不一樣,但是最起碼表象是相同的。)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM