WPF中ComboBox下拉菜单控件的介绍

WPF中ComboBox下拉菜单控件的介绍

前几天在用WPF制作贪吃蛇游戏的时候,遇到了一个非常棘手的问题——下拉菜单选择时的事件问题,在网上查找了很多资料都没解决,最后还是我们帅气的曹老师帮我们讲解了这个问题,才得以解决。那么今天我将这些总结出来,来帮助更多在学习WPF过程中遇到这种问题的朋友。


1、Items属性

WPF中ComboBox下拉菜单控件的介绍_第1张图片
2、Items的属性和方法

属性/方法 说明
Add 将某一项添加到下拉菜单的选择框中
Count 获取这个下拉菜单集合中的记录/长度
Clear 清空集合并释放对集合中已存在的所有项的引用
Insert 将元素插入到集合中的指定索引处
Remove 从集合或视图总移除指定的项的引用

​ 在此,我们发现了一个问题。它和泛型List集合中的用法和方法属性特别相似。

3、在这里我做一个例子,通过for循环的来给下拉菜单中存储文本

string[] a = { "简单", "一般", "困难" };//第一步,先定义一个数组,来存储你想要放在下拉菜单中的值
	for (int i = 0; i < a.Length; i++)//第二步,通过for循环来将数组中的值取出来
	{
    	 combox.Items.Add(a[i]);//取出来后添加到Items中就添加到了下拉菜单中
     }

4、在这里有人会问,是不是要设置下拉菜单不可编辑?我当时也这么想的,但是后来我发现它默认就是不可编辑的

 combox.IsEditable = false;//它默认时为false就是关闭的,为true时是打开的

WPF中ComboBox下拉菜单控件的介绍_第2张图片


5、然后就是设置默认显示的为下拉菜单中第一个值

combox.SelectedIndex = 0;//设置文本为索引的第一个(简单) 0表示的是索引,就是下拉菜单中的第一个值

在这里插入图片描述

6、最后就是当下拉菜单中的选项改变是触发的事件

combox.SelectionChanged += Combox_SelectionChanged;//下拉菜单中文本改变时触发的事件

在这里插入图片描述

 private void Combox_SelectionChanged(object sender, SelectionChangedEventArgs e)
 //这就是改变文本后触发的事件
        {

​        if (combox.Text=="简单")//如果文本变为简单
​        {
​            timer1.Interval = TimeSpan.FromMilliseconds(300);//设置两个计时器触发的频率
​            timer2.Interval = TimeSpan.FromMilliseconds(300);
​            bj.ImageSource = new BitmapImage(new Uri("E:/C#/C#文件/贪吃蛇游戏3/images/游戏背景图.jpg"));//并且改变canvas中背景中的图片
​           
​        }
​        else if (combox.Text=="一般")
​        {
​            timer1.Interval = TimeSpan.FromMilliseconds(200);
​            timer2.Interval = TimeSpan.FromMilliseconds(200);
​            bj.ImageSource = new BitmapImage(new Uri("E:/C#/C#文件/贪吃蛇游戏3/images/粉色背景.jpg"));
​           
​        }
​        else if (combox.Text=="困难")
​        {
​            timer1.Interval = TimeSpan.FromMilliseconds(100);
​            timer2.Interval = TimeSpan.FromMilliseconds(100);
​            bj.ImageSource = new BitmapImage(new Uri("E:/C#/C#文件/贪吃蛇游戏3/images/蓝色背景.jpg"));
​            
​        }
    	 game.Background = bj;//将bj赋值给Canvas的背景
​    }

今天就讲到这里,相信本篇文章对会你会有或多或少的帮助,当然,本片文章如若对大家造成了误导或者说有什么纰漏以及不足之处,希望大家能够在评论区留言来纠正我的错误。

你可能感兴趣的:(python)