2013-02-20 34 views
1

參數我不得不寫WPF應用程序的功能:窗口和文本框在功能

public void function(Window win) 
{ 
    win.mytextbox.Text=""; // will show error 
} 

調用參數窗口的將在所有這些mytextbox,但我怎麼在功能設定值的勝利可是沒有mytextbox

只有當存在所有窗口實例,即win1,win2,win3,...以及所有和函數都在MainWindow中時,函數纔會在MainWindow中調用?

+0

不要稱之爲「功能」......這些是對象方法。 – 2013-02-20 12:49:45

回答

3

如果你的名字文本框是「mytextbox」您可以訪問它通過

((TextBox)win.FindName("mytextbox")).Text = ""; 

您還可以通過主窗口作爲參數,然後直接訪問mytextbox,就像這樣:

public void MyFunction(MainWindow mw) 
{ 
    mw.mytextbox.Text = ""; 
} 

由於您使用的是WPF,因此您應該考慮使用DataBinding而不是在代碼隱藏中操縱您的Controls屬性。

+0

只是出於好奇而沒有辦法直接在上面的函數中使用mytextbox? – uncia 2013-02-20 12:55:02

+0

僅當您將它作爲參數傳遞時,但在上面的示例中,您訪問與「mytextbox.Text =」「;;」相同的TextBox實例,因此沒有區別。 – 2013-02-20 12:57:42