2019-1-25-WPF-ListBox-的选择
| title | author | date | CreateTime | categories |
|---|---|---|---|---|
|
WPF ListBox 的选择
|
lindexi
|
2019-01-25 21:43:17 +0800
|
2018-2-13 17:23:3 +0800
|
WPF
|
本文告诉大家在 ListBox 做选择时,多选时 SelectedItem 和 SelectedIndex 的值。
首先写一个界面,两个按钮和一个ListBox ,点击第一个按钮选择多个元素,点击第二个按钮就显示当前的 SelectedItem 和 SelectedIndex
- <Grid>
- <ListBox x:Name="QjdckjpVemnepybg" SelectionMode="Multiple"></ListBox>
- <Button Width="100" Height="100" Click="ButtonBase_OnClick"></Button>
- <Button Margin="100,10,10,10" Width="100" Height="100" Click="RyltnqiUmqgwuz_OnClick"></Button>
- </Grid>
在点击前需要给 ListBox 数据,请看下面
- public MainWindow()
- {
- InitializeComponent();
- QjdckjpVemnepybg.ItemsSource = FyuzbqklBxdk;
- for (int i = 0; i < 100; i++)
- {
- FyuzbqklBxdk.Add(i.ToString());
- }
- }
- public ObservableCollection<string> FyuzbqklBxdk { get; } = new ObservableCollection<string>();
点击第一个按钮选择多个元素
- private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
- {
- QjdckjpVemnepybg.SelectedItems.Clear();
- QjdckjpVemnepybg.SelectedItems.Add(FyuzbqklBxdk[2]);
- QjdckjpVemnepybg.SelectedItems.Add(FyuzbqklBxdk[5]);
- }
点击第二个按钮显示 SelectedItem 和 SelectedIndex
- private void RyltnqiUmqgwuz_OnClick(object sender, RoutedEventArgs e)
- {
- Console.WriteLine(QjdckjpVemnepybg.SelectedItem);
- Console.WriteLine(QjdckjpVemnepybg.SelectedIndex);
- }
可以看到,点击第一个按钮之后,SelectedItem 和 SelectedIndex 都是 2 因为他会显示多选的第一个。
如果选择的是 SelectedItem ,那么 SelectedItems 就只有 SelectedItem 的元素
- private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
- {
- QjdckjpVemnepybg.SelectedItem = FyuzbqklBxdk[2];
- }
- private void RyltnqiUmqgwuz_OnClick(object sender, RoutedEventArgs e)
- {
- Console.WriteLine(QjdckjpVemnepybg.SelectedItems.Count);
- foreach (var temp in QjdckjpVemnepybg.SelectedItems)
- {
- Console.WriteLine(temp);
- }
- }
如果选择是 SelectedIndex ,那么 SelectedItems 有对应序号的元素
- private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
- {
- QjdckjpVemnepybg.SelectedIndex = 2;
- }
- private void RyltnqiUmqgwuz_OnClick(object sender, RoutedEventArgs e)
- {
- Console.WriteLine(QjdckjpVemnepybg.SelectedItems.Count);
- foreach (var temp in QjdckjpVemnepybg.SelectedItems)
- {
- Console.WriteLine(temp);
- }
- }
如果这时 SelectedIndex 为 -1 ,那么 SelectedItems 没有选择元素
- private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
- {
- QjdckjpVemnepybg.SelectedIndex = -1;
- }
- private void RyltnqiUmqgwuz_OnClick(object sender, RoutedEventArgs e)
- {
- Console.WriteLine(QjdckjpVemnepybg.SelectedItems.Count);
- foreach (var temp in QjdckjpVemnepybg.SelectedItems)
- {
- Console.WriteLine(temp);
- }
- }
如果这时的 SelectedItems 没有选择元素,那么 SelectedIndex 是 -1
如果这时没有开启多选,那么在 SelectedItem 选中元素时,SelectedItems 只有他选中的。所以一般可以通过 SelectedItems 判断当前选中的。
2019-1-25-WPF-ListBox-的选择的更多相关文章
- 自定义WPF ListBox的选择样式
(下图:进行多项选择的ListBox) 首先介绍一种简单地方法:就是通过自定义SystemColors类的参数来自定义WPF ListBox选择颜色的,SystemColors的HighlightBr ...
- wpf ListBox删除选择项(支持多项)
搞了个ListBox删除选择项,开始老是不能把选择项删除干净,剩下几个.后来调试一下原来是ListBox在删除一个选择项之后立即更新,选择项也有变化.结果我想了个这样的方法来删除呵呵. Departm ...
- WPF:自定义ListBox的选择样式
首先介绍一种简单地方法:就是通过自定义SystemColors类的参数来自定义WPF ListBox选择颜色的, SystemColors的HighlightBrushKey和HighlightTex ...
- 自定义WPF ListBox的选中项样式
首先介绍一种简单地方法:就是通过自定义SystemColors类的参数来自定义WPF ListBox选择颜色的,SystemColors的HighlightBrushKey和HighlightText ...
- WPF ListBox数据绑定
本文来源 http://wshoufeng1989.blog.163.com/blog/static/202047033201282911633670/ 风随影动的博客 使用数据库AllData , ...
- [2019.03.25]Linux中的查找
TMUX天下第一 全世界所有用CLI Linux的人都应该用TMUX,我爱它! ======================== 以下是正文 ======================== Linu ...
- Alpha冲刺(2/10)——2019.4.25
所属课程 软件工程1916|W(福州大学) 作业要求 Alpha冲刺(2/10)--2019.4.25 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪 ...
- WPF : ListBox的几种Template属性
原文:WPF : ListBox的几种Template属性 属性名 属性的类名 功能 示例 Template ControlTemplate 定义控件自身的外观.其子元素的布局可以自定义,也可以由It ...
- WPF中如何选择合适的元数据标记?(英文)
原文:WPF中如何选择合适的元数据标记?(英文) FrameworkPropertyMetadataOptions Enumeration:Specifies the types of framewo ...
- wpf listbox 选中项 上移下移
原文:wpf listbox 选中项 上移下移 private void MoveUp_Click(object sender, RoutedEventArgs e) { ...
随机推荐
- Python获取exe文件版本
import time, datetime, re, subprocess, sys, os, win32net, win32api, win32con, win32netcon, win32secu ...
- git-win10下安装ubuntu,双系统,免U盘
关键词:win10,ubuntu,双系统,免, U盘 1-6,8 参考:https://www.jianshu.com/p/417c1001a5597 参考: https://segmentfault ...
- vue项目中router路由配置
介绍 路由:控制组件之间的跳转,不会实现请求.不用页面刷新,直接跳转-切换组件>>> 安装 本地环境安装路由插件vue-router: cnpm install vue-rou ...
- 【leetcode】1090. Largest Values From Labels
题目如下: We have a set of items: the i-th item has value values[i] and label labels[i]. Then, we choose ...
- [CF1182F]Maximum Sine
题意:\(f(x) = \text{abs}(\text{sin}(\frac{p}{q} \pi x))\),给定\(a,b,p,q\),求\(x\in[a,b]\)最大的\(f(x)\). 题解: ...
- "C++ Primer Plus" is WAY FUCKING BETTER than "C++ Primer" (For Beginners)!!!
再看到给初学C++的人推荐C++ Primer的我就要揍人了,真的! 被他妈这帮装逼犯给误导了,耽误了无数的功夫! 就是听这帮傻逼的谣言,说C++ Primer讲解更深入什么的,初学也应该啃这本书,老 ...
- BUUCTF | [RoarCTF 2019]Easy Calc
看一下页面源码,发现了提示: calc.php?num=encodeURIComponent($("#content").val()) $("#content" ...
- linux中awk 详解
一.awk简介 awk是一个非常好用的数据处理工具,相对于sed常常作用于一整个行的处理,awk则比较倾向于一行当中分成数个[字段]处理,因此,awk相当适合处理小型的数据数据处理.awk是一种报表生 ...
- Java多线程,实现卖电影票的业务
本篇重点:多线程共享资源时发生的互斥问题 一般的我们售卖电影票或者火车票时会有多个窗口同时买票, 我们来看测试代码:主方法new一个Ticket(一个堆),之后三个线程来启动(三个窗口买票) clas ...
- 1208C Magic Grid
题目大意 给你一个n 让你用0~n^2-1的数填满一个n*n的正方形 满足每个数值出现一次且每行每列的异或值相等 输出任意一种方案 分析 我们发现对于4*4的正方形 0 1 2 3 4 5 ...