0

我的问题似乎很简单,我希望如此。
我有一个动态TextBox集合UiElementCollection
是 a的TextBox孩子StackPanel

我的目标很简单:例如用of
创建一个新的。TextBoxTextUiElementCollection[1]

TextBox myTextBox = new TextBox();                        // New TextBox
UiElementCollection myCollection = myStackPanel.Children; // New Collection

// If I call this :
myCollection[8] = myTextBox; 
// Error when I call my method
// --> System.ArgumentException

// If I call this  :
myTextBox = myCollection[8];
// Error in my code
// --> Cannot convert.. UiElement to Controls.TextBox

string myString = myTextBox.Text;

任何人都可以帮我处理这个吗?谢谢。

4

1 回答 1

3

你必须先转换它,没有隐式转换:

myTextBox = (TextBox)myCollection[8];

当然,检查这是否是TextBox第一次使用可能是个好主意is,或者做一个空检查和as

此外,此处适用 WPF 的标准注释,通常您应该通过绑定访问此类数据,而不是直接 UI 操作。

于 2015-01-29T00:13:49.513 回答