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) { ...
随机推荐
- OC中保存自定义类型对象的持久化方法
OC中如果要将自定义类型的对象保存到文件中,必须进行以下三个条件: 想要把存放自定义类型的数组进行 持久化(就是将内存中的临时数据以文件<数据库等>的形式写到磁盘上)必须满足: 1. 自定 ...
- layer.js插件
官方网址: http://layer.layui.com/
- Mybatis基于注解开启使用二级缓存
关于Mybatis的一级缓存和二级缓存的概念以及理解可以参照前面文章的介绍.前文连接:https://www.cnblogs.com/hopeofthevillage/p/11427438.html, ...
- drawArc
1) 画笔设置 Paint.Style.STROKE 中空模式 paint = new Paint(); //新建一个画笔对象 paint.setAntiAlias(true);//抗锯齿功能 pai ...
- LintCode之两两交换链表中的节点
题目描述: 我的思路: 由题目描述可知,题目是要求将第一个与第二个节点,第三个与第四节点....进行交换,而进行交换时只用将节点的值进行交换即可.需要注意的是:当链表为null或者当链表只有一个节点时 ...
- POI 单元格类型CellType
1.单元格类型 单元格的内容决定了单元格的类型,POI中定义的7种单元格类型: 2.示例 cell_0.setCellType(CellType.STRING);//字符串 日期数据对应的单元格类型是 ...
- Not a Number (NaN)
NaN can be produced by: 1. 0/0 2. Inf - Inf 3. Inf/Inf 4. 0*Inf 5. rem(x,y), where y=0 or x=Inf
- 由length、length()、size()引发的挖掘
在java中可能会经常用到这几个属性或者方法, 那么今天就来仔细研究一下 length——数组的属性: length()——String的方法: size()——集合的方法: 1.数组.length属 ...
- Git错误总结
1.error: failed to push some refs to ‘git@github.com:XXXX/XXXX‘ hint: Updates were rejected because ...
- Python专题三字符串的基础知识
Python专题三字符串的基础知识 在Python中最重要的数据类型包括字符串.列表.元组和字典等.该篇主要讲述Python的字符串基础知识. 一.字符串基础 字符串指一有序的字符序列集合,用单引号. ...