0

私の質問は単純なようです。そうであることを願っています。
の動的コレクションがTextBoxありUiElementCollectionます。
はのTextBox子ですStackPanel

私の目標は単純です。たとえば、のを使用し
て新しいものを作成します。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];

もちろん、最初に を使用したかどうかを確認するか、 と をヌル チェックすることを勧めします。TextBoxisas

また、WPF の標準的な注意事項がここに適用されます。一般に、直接の UI 操作ではなく、バインディングを介してそのようなデータにアクセスする必要があります。

于 2015-01-29T00:13:49.513 に答える