2011-07-11 36 views
0

我正在開發一個觸摸屏應用程序。我有一個帶有「新玩家」內容的按鈕的表單,然後顯示一個帶有文本框的鍵盤,供用戶輸入他的名字。現在,當我關閉(或輸入名稱時)時,我需要從父窗口的按鈕將內容更改爲用戶鍵入的名稱。但我不能做一個綁定到父母..我怎麼能做到這一點?WPF C#從子窗口更改按鈕內容

回答

1

您是在WPF應用程序中實現Model-View-ViewModel模式還是使用數據綁定?

你不必使用MVVM,但你應該真的以某種方式使用數據綁定。

使用數據綁定,您可以將按鈕內容綁定到某個對象(MVVM中的視圖模型)的字符串屬性。該對象需要實現INotifyPropertyChanged接口。您可以將子窗口上的文本框綁定到同一對象的相同屬性。

隨着這一點,當用戶輸入一個新玩家的名字時,按鈕會自動更新。

如果您需要更多的細節,請評論,我會很樂意詳細說明。

+0

感謝您的回覆!我正在使用databindig,但我正在考慮綁定元素。這樣,當用戶輸入時,父窗口上的按鈕內容必須被修改..你怎麼說我應該這樣做?我現在沒有使用任何數據存儲器,因爲它只是一個概念驗證。 – Max

0

你可以嘗試這樣的:

var button = this.Parent.Controls.OfType<Button>().Select(b => b.Name == "NameOfControl").First(); 
button.Content = name; 

編輯:而周杰倫的想法是,在此要以正確的方式,我只是提供使用LINQ其父訪問控制的另一種方式。

+0

除了System.Linq以外,還需要使用什麼來獲取函數?它沒有出現,當我輸入.. – Max