前提
ここに質問の内容を詳しく書いてください。
(例)
xanmarin.formsで計算アプリを作っています。
pageを読み込み時に動的にラベルやテキストボックスを
画面に配置したいのですが、上手くいきません。
実現したいこと
動的に配置したオブジェクトに対してidを付けて、
プログラム内で参照したい
例)
テキストボックスの値を計算したいが、idを設定できないため、
テキストボックスの値を取得できない
該当のソースコード
xaml
1 <ScrollView x:Name="outputview" Margin="7,7,7,7"> 2 <StackLayout x:Name="stack"></StackLayout> 3 </ScrollView>
C#
1 public Sigoto() 2 { 3 InitializeComponent(); 4 5 stack.Children.Add(new Label 6 { 7 TextColor = Color.Blue, 8 Text = "総回転数(電サポ回転数除く)" 9 }); 10 stack.Children.Add(new Entry 11 { 12 13 Keyboard =Keyboard.Numeric, 14 TextColor = Color.Blue 15 }); 16 17 stack.Children.Add(new Label 18 { 19 20 TextColor = Color.Blue, 21 Text = "現金投資(円)" 22 }); 23 stack.Children.Add(new Entry 24 { 25 26 Keyboard = Keyboard.Numeric, 27 TextColor = Color.Blue 28 }); 29 30 31 stack.Children.Add(new Label 32 { 33 TextColor = Color.Blue, 34 Text = "貯玉投資(個)" 35 }); 36 stack.Children.Add(new Entry 37 { 38 Keyboard = Keyboard.Numeric, 39 TextColor = Color.Blue 40 }); 41 42 43 stack.Children.Add(new Label 44 { 45 TextColor = Color.Blue, 46 Text = "総投資額:", 47 //ここに現金投資と貯玉投資の合計を表示したい 48 }); 49 } 50
stack.Children.Addで追加したオブジェクトにidを付けてTextの値を取得し、計算したい。
なぜ Xamarin なのですか?
.NET MAUI に移行してください。
コードビハインドから UI を取得するには x:Name を使います。
しかし値を取得するためにはエレメントそのものを取得するのではなく、データバインディングを使用するのが通例です。
今回の場合はコードビハインドで作成しているので、それらさえ必要ありません。
作成したものをフィールドに保存しておけば良いだけです、
