【问题标题】:Read Items From Text File Into Combo Box, VB, WPF将文本文件中的项目读入组合框、VB、WPF
【发布时间】:2017-06-19 23:53:59
【问题描述】:

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

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

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

【问题讨论】:

    标签: arrays wpf vb.net combobox readfile


    【解决方案1】:

    我建议你把你的任务分成两部分,让每一部分都变得简单。

    1) 从文件中加载您的项目并创建它们的集合,例如字符串列表,或覆盖 ToString 方法的任何类的实例列表,以按照您希望的方式显示对象在您的组合框中。 因此,无论您使用的是 Forms 还是 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 确实需要一点时间才能开始,但你很快就会觉得它非常简单和多才多艺。最好的威尔斯罗南。

    詹姆斯·赫斯特

    【讨论】:

    • 感谢您的回复,我采用了类似的方法,使用“ReadAllLines”函数将我的列表读入字符串数组,然后我使用 for each 循环将项目添加到组合盒子。我开始按照您的建议研究数据绑定,它似乎非常有用。再次感谢!
    • 不客气。是的,请熟悉数据绑定:使用 WPF 将简化您的生活,一旦您适应了它,您将永远不想在没有它的情况下编写 UX。
    猜你喜欢
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多