从本地PC填充listBox

时间:2012-02-20 14:43:09

标签: c# silverlight

我想用特定路径中的任何项填充我的ListBox。

string path = @"C:\users\test\desktop";

因此,无论桌面上有什么项目,列表框中都应包含这些项目。

我尝试制作ListBox1.ItemSource = path,但所有这一切都是将路径写入列表框:(。

任何建议或帮助。

谢谢

2 个答案:

答案 0 :(得分:1)

您需要将该路径中的文件集合传递给ItemsSource属性 - ListBox将不会从您的路径中读取。查看旨在在Silverlight中创建文件资源管理器的this项目。它应该给你一些关于你需要什么的提示,并向你展示如何进行ListBox人口步骤。

答案 1 :(得分:0)

看看this article。具体来说,这些部分:

设置项目属性后,打开XAML文件并添加名为“读取文件”的Button并附加Click_Event。我们还将添加ListBox,以便我们可以在其中显示文本内容。以下是相同的代码段:

<UserControl x:Class="FileAccessDemo.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <StackPanel x:Name="LayoutRoot" Background="White">
        <Button Width="150" Height="26" Content="Read File" Click="Button_Click"/>
        <ListBox x:Name="lstContent"/>
    </StackPanel>
</UserControl>

现在我们需要为Click实现Button事件逻辑。为此,请转到代码隐藏文件并编写自己的逻辑来读取系统中存在的任何文件。在我们的示例中,我们将使用System.IO.File类并读取hosts文件。然后我们将在ListBox

中添加内容

以下是代码实现:

private void Button_Click(object sender, RoutedEventArgs e)
{
    string fileContent = File.ReadAllText(@"c:\windows\system32\drivers\etc\hosts");
    lstContent.Items.Add(fileContent);
}

只需调用File.ReadAllText()方法并将完整的文件路径作为参数传递。这将读取内容并将其存储在名为fileContent的局部变量中。现在将内容添加到我们的ListBox