你好我在C#中有这个代码来获取文件并在<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="container"></div>
中列出它们但没有任何反应
ListView
我甚至尝试使用单行代码插入另一个代码
string[] files = Directory.GetFiles("plugins/");
foreach (string file in files)
{
string fileName = Path.GetFileNameWithoutExtension(file);
ListViewItem item = new ListViewItem(fileName);
item.Tag = file;
listView1.Items.Clear();
listView1.Items.Add(item);
}
但它不会添加该项目 谢谢
答案 0 :(得分:1)
ListViewItem.Tag是您设置的唯一属性,该属性在UI中不可见。试试这个:
string[] files = Directory.GetFiles("plugins/");
foreach (string file in files)
{
string fileName = Path.GetFileNameWithoutExtension(file);
ListViewItem item = new ListViewItem(fileName);
item.Text= file;
listView1.Items.Add(item);
}
答案 1 :(得分:0)
foreach循环中的此代码:
listView1.Items.Clear();
每次执行foreach语句时,总是清除列表视图,在执行foreach语句后,在视图中只添加了1个项目。
我建议删除它。如果你需要清除它,创建一个清除列表并在某处调用方法的方法,但不一定要在foreach语句中。
列表视图的实例化不得位于foreach循环中。您可以在方法级别或类级别实例化它,以便清除列表中项目的单独方法将能够引用它。
class Program
{
static ListView listView1 = new ListView();
static void Main(string[] args)
{
string[] files = Directory.GetFiles("C:\\testfiles");
foreach (string file in files)
{
string fileName = Path.GetFileNameWithoutExtension(file);
ListViewItem item = new ListViewItem(fileName);
item.Tag = file;
listView1.Items.Add(item);
}
}
static void ClearList()
{
listView1.Items.Clear();
}
}
答案 2 :(得分:0)
尝试以下代码
string[] files = Directory.GetFiles("plugins/");
string fileName = "";
foreach (string file in files)
{
fileName = Path.GetFileNameWithoutExtension(file)
var item = new ListViewItem();
item.Tag = file;
item.Text = fileName;
listView1.Items.Add(item);
}