如何访问 UiElementCollection 中的文本框



我的问题似乎很简单,我希望是这样。
我在UiElementCollection中有一个动态的TextBox集合。
TextBoxStackPanel的孩子。

我的目标很简单:
创建一个新TextBox,例如UiElementCollection[1] Text

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;

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

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

myTextBox = (TextBox)myCollection[8];

当然,首先使用 is 检查这是否是TextBox,或者进行空检查并as ,这可能是一个好主意。

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

相关内容

  • 没有找到相关文章

最新更新