【问题标题】:WPF ListBox vs ComboBoxWPF 列表框与组合框
【发布时间】:2016-11-26 10:38:13
【问题描述】:

我正在使用 C# 和 WPF 开发一个应用程序,我需要在其中绑定到字典并显示键值对。 ListBox 与 ComboBox 有何不同,使用其中一种可能有哪些优点/缺点?

【问题讨论】:

    标签: c# wpf mvvm data-binding


    【解决方案1】:

    ComboBox 是列表框和编辑控件的组合。一个简单的组合框只是一个顶部带有编辑控件的列表框;您可以从列表中选择或键入。具有“下拉”样式的组合框是相同的,但在您单击下拉字形之前,列表框不会显示。您可以下拉并选择或仅输入编辑控件。下拉列表样式的组合框类似,但您只能从显示的列表中选择 - 您无法在编辑控件中输入您想要的内容。

    基本上,组合框(非简单样式)占用的屏幕空间比完整的列表框少得多。

    来源:https://social.msdn.microsoft.com/Forums/en-US/3b5be60d-36c5-49aa-b49e-aa8625f53b62/what-is-the-difference-between-listbox-and-combobox-control?forum=netfxcompact

    列表框:

    1. 占用更多空间但显示多个值。

    2. 我们可以选择多个项目。

    3. 我们可以在列表框中使用复选框。

    组合框:

    1. 占用的空间更少,但只显示一个可见性值

    2. 不能多选

    3. 不能在组合框中使用复选框

    也可以看看http://devproconnections.com/aspnet/dropdownlist-listbox-and-combobox-whats-difference

    【讨论】:

    • 非常感谢!现在两者之间是否有一些妥协?例如说我想显示所有值,但我不需要用户选择任何东西。只是一个绑定到字典的基本控件
    • 如果您不希望用户选择任何内容,那么为什么需要创建列表框或组合框?它基本上用于用户可以选择特定项目并且您可以显示有关该选定项目的一些信息的情况。如果您不希望用户选择一个项目,只需创建一个网格并显示数据。
    • 明白了,谢谢!虽然绑定到集合需要数据网格而不是普通网格
    • @IDisposable 如果修改组合框的模板,可以多选。
    • @adminSoftDK :是的,我同意这一点。我说的是基本区别。我们显然可以定义模板来改变外观和行为。
    猜你喜欢
    • 2010-11-15
    • 1970-01-01
    • 2010-12-14
    • 2013-09-30
    • 1970-01-01
    • 2020-10-28
    • 2011-02-19
    • 1970-01-01
    相关资源
    最近更新 更多