从文本文件中读取项目到组合框,VB,WPF

时间:2017-06-19 23:53:59

标签: arrays wpf vb.net combobox readfile

我目前正在使用Visual Basic语言开发WPF应用程序,我希望从标准文本文件(ObjectNames.txt,存储在与应用程序相同的目录中)中读取项目列表,并将它们输入到组合中框。我一直在寻找解决方案,并且只找到了调用“AddRange”方法的答案,这种方法在Windows窗体应用程序中使用,但不在WPF应用程序中使用。

如果有人能告诉我如何实现这一点,我仍然是Visual Basic和WPF应用程序的新手。我还希望在将文件写入之前清除组合框,因为它的内容取决于另一个控件的输出,我相信我可以在读取操作之前使用“comboBox.Items.Clear”来完成此操作。

任何答案都非常感谢,谢谢!

1 个答案:

答案 0 :(得分:0)

我建议您将任务分为两部分,以使每个部分变得简单。

1)从文件中加载项目并创建它们的集合,例如字符串列表,或者覆盖ToString方法的任何类的实例列表,以按照您希望的方式生成对象在您的ComboBox中。 因此,无论您使用的是表单还是WPF,都是一样的。

2)使用标准MVVM绑定将WPF ComboBox绑定到此列表。 这是一个过于简化的人为例子:

在你的视图模型类中..

public List<string> MyItems
{
    get
    {
        if (_myItems == null)
        {
            // Create the _myItems list from your data-file here.
        }
        return _myItems;
    }
}

private List<string> _myItems;

现在在您的XAML(或您的代码隐藏)中,将XAML对象的DataContext设置为视图模型类实例,然后绑定ComboBox的ItemsSource:

<ComboBox Name="cbMyItems" ItemsSource="{Binding MyItems}" ..

我希望这会有所帮助。从精神上讲,WPF确实需要一点时间才能开始,但它很快就会感觉非常简单和多样化。最好的wiehs Ronan。

詹姆斯赫斯特