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) { ...
随机推荐
- Robomongo可视化命令
## 更新命令示例 db.getCollection('collection_name').update( {'_id':ObjectId('id string')}, {$set:{' ...
- Java常用类库API之数字处理工具类
数字处理工具类BigDecimal和DecimalFormat Java提供的java.text.DecimalFormat类,帮助我们用最快的速度将数据格式化为我们想要的样子.例如,取两位小数 im ...
- mysql错误: waiting for table metadata lock
今天突然发现truncate一个表都慢到不行,于是 SHOW PROCESSLIST 发现错误:waiting for table metadata lock解决方法:查看information_sc ...
- CGfsb
这里补充一下%n是代表向参数赋值打印的字符个数 例如printf("AAAA%n",&a); 代表的是向a写入4 printf("AAAA%1n", & ...
- cenos中的软件安装
在linux中安装flash: http://jingyan.baidu.com/article/fa4125accdeeec28ad709252.html linux java环境的搭建:
- Bugku 杂项 这是一张单纯的图片
这是一张单纯的图片 将图片用winhex打开 会发现在最后的部分有html实体编码 decode一下得到 key{you are right} 关于html实体编码 对于某些特殊字符如 < 与 ...
- iview之——table中嵌套input、select等
使用iview在table中嵌入button是比较常见的需求,但是在table中嵌入input或者select你是否考虑过呢?本文用实例介绍input和select在table中的嵌套. 理解tabl ...
- css选择器的组合示例
案例一demo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...
- 用PHP实现一些常见的排序算法
1.冒泡排序: 两两相比,每循环一轮就不用再比较最后一个元素了,因为最后一个元素已经是最大或者最小. function maopaoSort ($list) { $len = count($list) ...
- Hive 窗口函数之 lead() over(partition by ) 和 lag() over(partition by )
lead函数用于提取当前行前某行的数据 lag函数用于提取当前行后某行的数据 语法如下: lead(expression,offset,default) over(partition by ... o ...