从列表框中选择性地创建文本框列表
本文关键字:列表 创建 文本 选择性 | 更新日期: 2023-09-27 18:23:58
我有一个ListBox
,它包含几个TextBlock
s、一个Image和至少2个TextBox
s。然而,我的问题是,我需要能够检索ListBox
中的所有TextBox
;与第一个分开,然后将它们分配给C#中的List
。
这是.xaml:中的ListBox
<ListBox Margin="0,-20,0,0" Height="548" Name="listBoxNew">
<TextBlock Name="textBlockName" Text="Name"/>
<TextBox Name="textBoxName" Width="420" Margin="-12,0,0,0"/>
<TextBlock Name="textBlockAdd" Text="Add" Margin="0,10,0,0"/>
<TextBox Name="textBoxAdd" Width="420" Margin="-12,0,0,0"/>
<Image Name="imageAdd" Source="/SecondApp%2b;component/Images/buttonAdd1.png"
Height="50" Margin="0,5,0,0" Tap="imageAdd_Tap"
toolkit:TiltEffect.IsTiltEnabled="True"
ManipulationStarted="imageAddExersize_ManipulationStarted"
ManipulationCompleted="imageAddExersize_ManipulationCompleted" />
</ListBox>
ListBox可能具有比.xaml中所示更多的TextBox
,因为用户可以通过点击Image
来创建更多。
非常感谢,我们非常感谢您的帮助。
只需使用Linq就可以完成。以下语句返回TextBox
类型的ListBox
中除第一个元素之外的所有元素:
var textBoxList = listBoxNew.Items.Where(x => x.GetType() == typeof(TextBox)).Skip(1).ToList();
请记住,您必须将using System.Linq;
添加到您的文件中。
你好@Newbie我有解决方案给你。。我知道它不是优化的。。但它对你的案子有效。。我在比较这些类型。。在这里(不太好)。。我正在按按钮。。
List<object> lstobj;
private void Button_Click_2(object sender, RoutedEventArgs e)
{
int t = listBoxNew.Items.Count();
lstobj = new List<object>();
TextBox obj = new TextBox();
int p = 0;
for (int i = 0; i < t; i++)
{
if(listBoxNew.Items[i].GetType()==obj.GetType())
{
if (p == 0)
{
p = 1;
continue;
}
else
{
lstobj.Add(listBoxNew.Items[i]);
}
}
}
}
希望它能帮助你。。