图片中是一个wpf例子,要求用listview绑定实现
OrderNumber旁边有一个textblock,textblock显示的是listview中选中行的number信息,这个如何绑定实现...
Order Number旁边有一个textblock,textblock显示的是listview中选中行的number信息,这个如何绑定实现
展开
2个回答
展开全部
<!--
假设:
1、ListView.Name = listView1
2、被选择项目绑定的对象为 Order 且拥有属性 OrderNumber
3、listView1.ItemsSource 为 Order 集合
则用下面的方式进行绑定。
备注:
TextBlock.Text 属性绑定到一个UI元素,利用ElementName确定绑定对象
listView1.SelectedItem 其实就是被选择的 Order
所以 Path = SelectedItem.OrderNumber 就可以了
-->
<TextBlock Text="{Binding ElementName=listView1, Path=SelectedItem.OrderNumber}"/>
追问
我试试,能行的话就采纳你哦
真的可以,再问你一下,
这个实例完整的功能是鼠标选中listview某一行后,下面的textblock不会直接先是详细信息,要先按一下图中previous的按钮后再显示,老师说是把button和选中行做绑定,具体是哪一个属性??
如能回答,追加悬赏分
追答
Previous 和 Next 貌似是上一条/下一条吧 :p
当然,点击按钮实现也很容易,稍微修改下:
1、将存放显示详细信息的容器,也就是存放 Order Number、Customer ID 以及对应信息的父容器,加上 Name 属性,比如:
<StackPanel Name="detailPanel">
<!--......-->
</StackPanel>
2、在 Button_Click 事件中将 SelectedItem 对应的 Order 传递给 detailPanel (StackPanel)
<!--
Wpf 中的数据绑定具有管道的特性,即控件可以从其父容器获取数据。
所以,给 detailPanel.DataContext 赋值后,DataContext 中包含的 Order 对象会被自动传递给 detailPanel 中的所有子元素。
-->
detailPanel.DateContext = listView1.SelectedItem;
3、修改原有 TextBlock 的绑定语句
<!--
由于此时数据源是父容器的 DataContext,其实就是被选择的 Order 对象,所以,不再需要指定 ElementName 了,只要指定绑定的属性名称就可以了
-->
<TextBlock Text="{Binding Path=OrderNumber}"/>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询