2012-05-30 28 views
0

這是我第一次使用WPF。這有點噩夢,但是我已經做了足夠多的項目,現在我不想重新開始使用表單應用程序。WPF:更改嵌套在堆棧面板中的擴展器內的所有文本框的值

我的問題是這樣的:我有一個擴展器內的50個文本框,而這個文本框又是一個堆棧面板。我需要將每個文本框的值存儲在一個數組中。在形式,我可能會做這樣的事情(我使用vb.net的方式):

Dim i As Integer 
Dim values() as string 
For i = 0 To 49 
values(i) = form1.Controls("TextBox" & i).text 
Next i 

(假設我的文本框被命名爲Textbox1的,TextBox2中,Textbox3等)

哪有我在WPF中做這個?我嘗試過使用樹(我認爲他們被稱爲?),但每次都失敗了,現在放棄了。

哦,我也忘了提及在擴展器中還有其他控件(與文本框配對的標籤)。

+3

您的方法都是錯誤的......在WPF中,UI元素的值存儲在屬性中,並使用數據綁定綁定到UI元素。 –

+0

你應該使用數據綁定。這50個字符串代表什麼? 50個不同的對象,或單個對象的50個不同的屬性? –

+0

我發佈的代碼不是我實際使用的,它只是一個示例,旨在說明我在尋找什麼(除非我誤解了您所說的內容,在這種情況下,您怎麼知道我沒有使用數據綁定?) 。我想存儲在後端數組中的50個字符串是來自文本框的值,所以我猜測它們可以計爲50個不同的對象,而不是50個不同的屬性。我想要做的就是從擴展器中的每個文本框中獲取每段文本,並將其放入數組中。就像我說的這是我第一次使用WPF,所以我有點困惑。 – thedarkspoon

回答

0

這正好編碼恐怖類別,但如果你想追求它反正是有方法上FrameworkElement的叫FindName(​​),它會做你的需要。它會遞歸地搜索它的子元素,只需命名您的擴展器並在代碼隱藏中使用FindName來獲取所有文本框。

+0

它是垃圾。我知道這個。儘管如此,我仍然決定繼續追求這條路線,我感謝你的有用的,如果不高興的帖子。 – thedarkspoon

相關問題