WPF ComboBox2025年03月17日 | 阅读 9 分钟 ComboBox 控件是一个类似于 ListBox 控件的条目控件。但 ComboBox 和 ListBox 控件之间的区别在于,我们只能从 ComboBox 的集合中选择一个条目。一次只能在 ComboBox 中显示一个条目。单击 ComboBox 后,将显示集合中的条目,然后用户将从集合中选择条目。 ComboBox 没有提供从条目集合中进行多选的功能。在这里,我们必须一次选择一个条目。 ComboBox 控件是三个控件的集合,其中包括 按钮、文本框、PopUp。 按钮的用途是,此控件将向我们显示或隐藏 ComboBox 包含的条目。 PopUp 的目的是,这将显示条目,之后,我们将从 ComboBox 包含的条目中选择一个条目。 文本框控件将向我们显示我们选择的那些条目。 ComboBox 的层次继承关系如下所示 ![]() ComboBox 的已使用属性以下是 ComboBox 中使用的属性列表
ComboBox 中使用的方法
WPF 中使用的事件
ComboBox 的元素将在 XAML 中显示 ComboBox 控件。 表示 ComboBox 的语法 <ComboBox></ComboBox> ComboBox 的 height 和 width 属性显示 ComboBox 的宽度和高度。 属性 x: Name 将显示控件的名称。 Name 称为控件的唯一标识符。 我们将使用 Margin 属性来设置 ComboBox 在父控件上的位置。 水平和垂直属性用于设置垂直和水平对齐方式。 现在我们将编写一个代码,在该代码中我们将设置控件的高度、宽度和名称。 ![]() DataBinding对于 DataBinding,我们将使用 ItemSource 属性的键 DataGrid。 借助此属性,我们可以绑定任何实现 IEnumerable 的数据源。 Data Grid 的行将绑定到数据源的数据对象,并且 Data Grid 的每一列都将绑定到数据源的属性。 在这里,我们将举一个例子,该例子将创建集合的对象并绑定到 Data Grid 控件。 MainWindow.xaml MainWindow.xaml.cs 输出 ![]() 将条目添加到 ComboBoxComboBox 控件托管 ComboBoxItem 的集合。 现在,我们将编写代码以在设计时使用 XAML 将条目添加到 ComboBox 控件。 输出 ![]() 在运行时添加和删除 ComboBox 条目现在我们必须在设计时从 XAML 将条目添加到 ComboBox。 现在,我们希望在运行时将条目添加到 ComboBox。 ComboBox 的 itemsproperty 将显示 ComboBox 的条目。 ItemProperty 是 ItemsCollection 的对象。 如果我们要从集合中添加和删除条目,则将使用 itemscollection 的 Add 和 Remove 或 RemoveAt 方法。 现在,我们将更改 UI 并在页面上添加 TextBox 和一个按钮控件。 现在,我们将添加 XAML 代码以将 TextBox 和按钮添加到页面。 MainWindow.XAML 输出 ![]() 单击按钮后,我们将通过调用 ComboBox.items.Add 方法将文本框的内容添加到 comboBox 中。 现在,我们将编写一个代码,通过该代码,我们将在单击“添加”按钮后将文本框的文本条目添加到 ComboBox 中。 MainWindow.XAMLMainWindow.XAML.cs现在,我们将在文本框中输入文本并单击“添加项目”按钮,这将把文本框的内容添加到 comboBox 中,如下图所示 输出 ![]() 从 ComboBox 中删除条目要从 ComboBox 中删除条目,我们将使用 ComboBox.items.RemoveAt 方法从 ComboBox 中的条目集合中删除条目。 RemoveAt 方法将使用该条目在集合中的索引。 在应用删除功能之前,输出显示在下面的屏幕截图中 ![]() 在删除条目之前,输出显示如下图所示 ![]() 现在,我们将再添加一个按钮,即删除按钮。 此按钮的 XAML 代码如下所示 C# 代码,用于从 ComboBox 中删除条目。 MainWindow.XAML.cs 在应用删除功能后,输出将显示如下图所示 输出 ![]() 从上图截图中删除了条目 coffee。 在 ComboBox 中添加图像我们可以在 ComboBox 中放置任何控件,例如图像和文本。 为了显示带有文本的图像,我们将在 StackPanel 中使用 Image 和 TextBlock 控件。 Image.Source 属性包括我们要在 Image 控件和 TextBlock 上显示的图像的名称。 Text 属性将包括我们要在 TextBlock 上显示的字符串。 MainWindow.Xaml输出 ![]() 在 ComboBox 中添加复选框当我们在 comboBoxItems 内部添加复选框时,我们将生成一个 ComboBox 控件及其内部的复选框。 复选框也可以在其内部托管控件。 此外,我们可以将图像和 TextBlock 作为复选框的内容。 为此,我们将编写一个代码以将复选框与内部的图像一起添加。 现在,我们将更改 ComboBoxItem 的代码,并将复选框和图像添加到所有条目。 可以通过使用 Name 属性来设置复选框的名称。 当需要访问复选框时,我们将使用 Name 属性访问它们。 要将 CheckBox 添加到 ComboBox,我们将编写以下代码 输出 ![]() 总结在上面,我们展示了 comboBox 的功能。 创建 comboBox,将条目添加到 comboBox,删除条目,使用 CheckBox,插入图像以及文本。 下一个主题StackPanel 控件 |
我们请求您订阅我们的新闻通讯以获取最新更新。