我为我的Xaml保留了一个位置,在那里我将根据来自ViewModel的列表创建几个字段。
<StackLayout x:Name="hAcumulativas"/>
使用下面的函数浏览列表,我将字段添加到屏幕上粘贴的StackLayout中:第一次我在屏幕上有一个保存按钮,它想要通过创建的字段,因为当创建它时,在任何时候都没有绑定。我真的在这一点上卡住了,如何检索值 我想组装一个列表并将其返回给ViewModel。
vcudknz31#
你可以循环遍历堆栈布局的子元素,并检查条目的值,比如:
foreach (var item in hAcumulativas.Children) { if (item is Entry entry) { var thing = entry.Text; } }
jv2fixgn2#
安德鲁的回答显示了基本的技巧。如果您需要确切地知道哪些控件是由您的函数创建的,那么请维护一个列表:
private List<Entry> AcumulativasEntries; ... AcumulativasEntries = new List<Entry>(); foreach (var item in _vm.ListaTipoHora) { if (item.Acumula == "S") IncluirFilhosHAcumulativas(item.Descricao, string.Empty); if (item.Acumula == "N") IncluirFilhosHNaoAcumulativas(item.Descricao, string.Empty); } ... private void IncluirFilhosHAcumulativas(string label, string entry) { ... var entry = new Entry{ ... }; AcumulativaEntries.Add(entry); hAcumulativas.Children.Add(entry); }
通过遍历列表来检索值:
foreach (var entry in AcumulativaEntries) { ... }
2条答案
按热度按时间vcudknz31#
你可以循环遍历堆栈布局的子元素,并检查条目的值,比如:
jv2fixgn2#
安德鲁的回答显示了基本的技巧。
如果您需要确切地知道哪些控件是由您的函数创建的,那么请维护一个列表:
通过遍历列表来检索值: