如何将自定义项添加到listbox wpf C#
我想在程序的列表框中添加自定义项,因此我有以下xaml代码:如何将自定义项添加到listbox wpf C#,c#,wpf,C#,Wpf,我想在程序的列表框中添加自定义项,因此我有以下xaml代码: <ListBox Name="lb" Background="{x:Null}" > <ListBox.ItemTemplate> <DataTemplate> <StackPanel> <Grid> <Grid
<ListBox Name="lb" Background="{x:Null}" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding Num}" Grid.Column="0" Grid.RowSpan="2" Grid.Row="0"/>
<TextBlock Text="{Binding Pth}" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="3"/>
<TextBlock Text="{Binding Name}" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3"/>
<Button Content="{Binding EnterBtn}" Grid.Column="4" Grid.RowSpan="2"/>
</Grid>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
在mainwindow类中,我有以下代码:
string path_ = string.Format(@"C:\Users\{0}\Documents\folder path", Environment.UserName);
List<Item> itms = new List<Item>();
public MainWindow()
{
InitializeComponent();
string[] arr = Directory.GetFiles(path_, ".emi");
AddToList(arr);
}
private void AddToList(string[] a)
{
foreach(string s in a)
{
string fl;//first line
string sl; //second line
using(StreamReader read = new StreamReader(s))
{
fl = read.ReadLine();
sl = read.ReadLine();
}
itms.Add(new Item() { Num = (itms.Count + 1).ToString(), Name = sl, Pth = fl, EnterBtn = fl + sl });
}
lb.ItemsSource = itms;
}
string path\=string.Format(@“C:\Users\{0}\Documents\folder path”,Environment.UserName);
列表itms=新列表();
公共主窗口()
{
初始化组件();
字符串[]arr=Directory.GetFiles(路径为“.emi”);
地址列表(arr);
}
私有void AddToList(字符串[]a)
{
foreach(a中的字符串s)
{
字符串fl;//第一行
字符串sl;//第二行
使用(StreamReader read=新的StreamReader))
{
fl=read.ReadLine();
sl=read.ReadLine();
}
Add(newitem(){Num=(itms.Count+1).ToString(),Name=sl,Pth=fl,EnterBtn=fl+sl});
}
lb.ItemsSource=itms;
}
我只想读取扩展名为(.emi)的文本文件,并将该数据更新到列表框
问题是什么都没有发生,(.emi)文件确实存在
因此,我的代码中是否存在任何问题?“.emi”
将只查找准确完整名称为“.emi”
的文件。您需要“*.emi”
——*
表示“此部分可以是零个或多个字符的任意序列”,不是文件扩展名
string[] arr = Directory.GetFiles(path_, "*.emi");
“.emi”
将只查找准确完整名称为“.emi”
的文件。您需要“*.emi”
——*
表示“此部分可以是零个或多个字符的任意序列”,不是文件扩展名
string[] arr = Directory.GetFiles(path_, "*.emi");
在
AddToList()
中的foreach
上放置断点。运行应用程序,当它在断点处停止时,将鼠标悬停在a
上。a.Length
等于什么?在AddToList()中的foreach
上放置一个断点。运行应用程序,当它在断点处停止时,将鼠标悬停在a
上。a.Length
等于多少?