我的问题似乎很简单,我希望是这样。
我在UiElementCollection
中有一个动态的TextBox
集合。TextBox
是StackPanel
的孩子。
我的目标很简单:
创建一个新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 操作访问此类数据。