在listbox中定义按钮,点击响应如何获取点击的item行数

问题描述

在listbox中鼠标停留添加了一个按钮,点击按钮,将按钮的响应路由到了他的父控件listbox,lsitbox的selectindex的值始终是-1也就是没有被选中,求解,这是为什么呢?<Window.Resources><StyleTargetType="{x:TypeListBoxItem}"><SetterProperty="Template"><Setter.Value><ControlTemplateTargetType="{x:TypeListBoxItem}"><Borderx:Name="PART_Border"Margin="2"Width="150"Height="20"Background="Blue"BorderBrush="Black"BorderThickness="1"><Grid><WrapPanelx:Name="OpationPanel"Opacity="0"HorizontalAlignment="Right"VerticalAlignment="Bottom"><ButtonWidth="24"Height="24"Click="Button_Click"/></WrapPanel></Grid></Border><ControlTemplate.Triggers><TriggerProperty="ListBoxItem.IsMouseOver"Value="True"><SetterProperty="Effect"><Setter.Value><DropShadowEffectBlurRadius="30"Color="Black"Direction="0"Opacity="0.6"RenderingBias="Performance"ShadowDepth="0"/></Setter.Value></Setter><Trigger.EnterActions><BeginStoryboard><Storyboard><DoubleAnimationBeginTime="0:0:0"Storyboard.TargetName="OpationPanel"Storyboard.TargetProperty="Opacity"Duration="0:0:0.4"From="0"To="1"/></Storyboard></BeginStoryboard></Trigger.EnterActions><Trigger.ExitActions><BeginStoryboard><Storyboard><DoubleAnimationBeginTime="0:0:0"Storyboard.TargetName="OpationPanel"Storyboard.TargetProperty="Opacity"Duration="0:0:0.4"From="1"To="0"/></Storyboard></BeginStoryboard></Trigger.ExitActions></Trigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter></Style></Window.Resources><Grid><ListBoxx:Name="listbox1"><ListBoxItemContent="ITEM"/><ListBoxItemContent="ITEM"/><ListBoxItemContent="ITEM"/><ListBoxItemContent="ITEM"/><ListBoxItemContent="ITEM"/><ListBoxItemContent="ITEM"/><ListBoxItemContent="ITEM"/><ListBoxItemContent="ITEM"/><ListBoxItemContent="ITEM"/></ListBox>

privatevoidButton_Click(objectsender,EventArgse){//listbox1.Focus();//inti=listbox1.SelectedIndex;////DataRowdr=ListBox.SelectedItemasDataRow;//////stringselectedText=dr["字段"].ToString();//MessageBox.Show(Convert.ToString(i));listbox1.AddHandler(Grid.MouseDownEvent,newRoutedEventHandler(Grid_MouseDown1),true);}privatevoidGrid_MouseDown1(objectsender,RoutedEventArgse){//MessageBox.Show("listbox被点击");inti=listbox1.SelectedIndex;MessageBox.Show(Convert.ToString(i));}

解决方案

解决方案二:
应该获取Button的父控件ListBoxItem,使用类似:this.list.ItemContainerGenerator.IndexFromContainer();

来获取index值。

时间: 2024-09-22 01:43:23

在listbox中定义按钮,点击响应如何获取点击的item行数的相关文章

在vb.net中如何做到单击listbox中的文件,然后将其打开啊?我已经在listbox中添加了一个click事件来获取指定路径文件命了

问题描述 如题所问,求大神给解答啊!!! 解决方案 解决方案二:http://msdn.microsoft.com/zh-cn/library/e8zac0ca(v=vs.110).aspx解决方案三:你都获取到文件名了,是不会打开文件?解决方案四:引用2楼gengchenhui的回复: 你都获取到文件名了,是不会打开文件? 我是通过click事件获得了文件名让他们显示在listbox里面,然后想通过再次点击打开listbox里的东西...解决方案五:PrivateSubListBox1_Sel

JTable中获取鼠标所在位置的行数

table=new JTable(cells,columnNames); table.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent e) { System.out.println("mouseClicked()"); // TODO Auto-generated // Event stub // mouseClicked()

怎样获取listbox中某行中的某列值??

问题描述 是这样的,我的Listbox是绑定了数据表的,现在的问题是我点中listbox中的某一行,我想获取这一行中某列的值.在线急等,好久没用asp.net了.大家明白了吗?lst.DataSource=dtTable;lst.DataTextField="Name";lst.DataValueField="";lst.DataBind();但我获得是某行中list[i]中的某一行,比如我想获取"Address"项的值.我用lst[i][&qu

求助怎么用C# 取一个文件夹中所有的txt的行数并且写入dataGridView

问题描述 计算txt的行数和dataGridView单元格一一对应各个txt文件内容为(例):E00401504EB9FE7DE00401504EB9FE7DE00401504EB9FE7DE00401502BB0D3DFE00401502BB0D3DFtxt第一站第一时段第一站第二时段.........dataGridView站数/时段第1时段第2时段第3时段第4时段第1站第2站第3站本人纯属菜鸟需要各位大神源代码 解决方案 解决方案二:技术差,连描述都不清楚,txt例子和gv的描述看不懂是怎

ios-iOS 怎么实现多行字符串中设置没几个关键词不同颜色,并且关键词可以点击响应事件?

问题描述 iOS 怎么实现多行字符串中设置没几个关键词不同颜色,并且关键词可以点击响应事件? 解决方案 把关键词从label中分离出来,单独创建一个label 或者 button 各自设置颜色添加点击事件 解决方案二: http://www.360doc.com/content/15/0619/14/19119980_479198602.shtml 解决方案三: 用webview来加载html页面来显示 解决方案四: 你这个iOS确实实现不了,主要是这个点击事件实现不了.正如楼上所说,估计也就只

mfc入门-如何在mfc中写代码使相对应的按钮实现代码的功能

问题描述 如何在mfc中写代码使相对应的按钮实现代码的功能 如何在mfc中写代码使相对应的按钮实现代码的功能 解决方案 双击按钮,会自动产生一个处理函数,或者按ctrl+w,调出classwizard,下拉选择控件,右边选择处理的消息.最后确定,编写代码. 解决方案二: 我写的MFC代码 解决方案三: 你直接双击资源中的按钮,编译器就会帮你生成对应的按钮响应函数,你就可以更改了 还可以对比源代码前后,知道编译器帮你自动生了那些代码.

C++Builder中异形按钮的实现

"异形"按钮非常有趣,就是按钮的形状不是标准的长方形或正方形,而有一丝"叛逆"--"异形"嘛,是不是?怎样才能实现"异形"按钮呢?由于Window 95增加了对窗口区域概念的支持,使得窗口区域就是所定义的窗口看上去的形状,窗口区域作为窗口的实际边界区域,这样窗口区域不仅定义了窗口的可画区域,而且定义了窗口下隐含区域和响应鼠标击键事件的响应窗口区域. 按钮的各种形状是在运行时设置的而不是在设计时设置.设计时按钮的形状仍然是长方形

在Scala中定义无参数方法

作为下一步,我们将向Element添加显示宽度和高度的方法,展示在代码10.2中.height方法返回 contents里的行数.width方法返回第一行的长度,或如果元素没有行记录,返回零.(也就是说你不能 定义一个高度为零但宽度不为零的元素.) abstract class Element { def contents: Array[String] def height: Int = contents.length def width: Int = if (height == 0) 0 el

ios让textview支持特殊标签点击响应(@标签、#标签)

有使用过新浪微博会发现,微博对发送的消息提供了几个特殊符号标签. 比如:输入"@+微博用户昵称(即ID)+空格或标点",那么在这条微博中这个@条目就会表现成超链接形式,点击即可跳转到被@的某人的微博.  又比如话题标签"#+关键字+#".表现形式就是点击后会跳转到包含该关键字的微博的搜索结果页面的超链接. 同样的,直接输入"http://hangge.com"那么微博中会显示为可点击的网页链接.   1,让textview支持特殊符号标签 通常情