说明:在很多时候,我们需要用一个ListBox显示集合数据,当用户选择集合中的某一项时,需要在另一个地方把这一项的详细数据显示出来,那我们可以利用UserControl来显示详情,重写UserControl.ContentTemplate即可。

<Grid><ListBox x:Name="List1"><ListBox.ItemsPanel><ItemsPanelTemplate><VirtualizingStackPanel Orientation="Horizontal"/></ItemsPanelTemplate></ListBox.ItemsPanel><ListBox.ItemTemplate><DataTemplate><Grid><Grid.RowDefinitions><RowDefinition Height="150"></RowDefinition><RowDefinition Height="150"></RowDefinition><RowDefinition></RowDefinition></Grid.RowDefinitions><TextBlock Text="{Binding RoomName}" Width="200" Height="100" Foreground="Black" Background="Red"></TextBlock><UserControl Grid.Row="1" x:Name="txt" Content="{Binding ElementName=lb,Path=SelectedItem,Mode=TwoWay}" Width="100" Height="100" Foreground="Black" Background="Red" HorizontalAlignment="Left" VerticalAlignment="Top"><UserControl.ContentTemplate><DataTemplate><TextBlock Text="{Binding StuName}"/></DataTemplate></UserControl.ContentTemplate></UserControl><Label Content="{Binding  ElementName=lb,Path=SelectedItem}"/><ListBox x:Name="lb" Grid.Row="2" ItemsSource="{Binding students}"><ListBox.ItemsPanel><ItemsPanelTemplate><VirtualizingStackPanel Orientation="Horizontal"/></ItemsPanelTemplate></ListBox.ItemsPanel><ListBox.ItemTemplate><DataTemplate><ContentControl Content="{Binding StuId}" Tag="{Binding StuName}" Width="30" Height="30" x:Name="btn"></ContentControl></DataTemplate></ListBox.ItemTemplate></ListBox></Grid></DataTemplate></ListBox.ItemTemplate></ListBox></Grid>

将Listbox的SelectedItem绑定到一个UserControl中相关推荐

  1. ListBox和ComboBox绑定数据简单例子

    1. 将集合数据绑定到ListBox和ComboBox控件,界面上显示某个属性的内容 //自定义了Person类(有Name,Age,Heigth等属性) List<Person> per ...

  2. winform 中listBox控件绑定list类型数据源,并设置DisplayMember

    在WinForm中,您可以将ListBox控件绑定到List类型的数据源.为此,您需要将List数据源设置为ListBox的DataSource属性,然后设置ListBox的DisplayMember ...

  3. wpf listbox的selectedItem绑定在mouseup前一直处于选中状态

    SelectedItem绑定应该监听的MouseDown事件. 可根据需要改用ListBox的MouseUp事件,替换SelectedItem绑定

  4. 动态DNS——本质上是IP变化,将任意变换的IP地址绑定给一个固定的二级域名。不管这个线路的IP地址怎样变化,因特网用户还是可以使用这个固定的域名 这样看的话,p2p可以用哇...

    动态域名是因应网络远程访问的需要而产生的一项应用技术.因为没有固定IP,只能运用二级域名来应对经常变化的IP,动态域名的由来因此而产生. 它当前主要应用在:路由器.网络摄像机.带网络监控的硬盘录像机. ...

  5. Boost:bind绑定作为一个组合的测试程序

    Boost:bind绑定作为一个组合的测试程序 实现功能 C++实现代码 实现功能 bind绑定作为一个组合的测试程序 C++实现代码 #include <boost/config.hpp> ...

  6. WPF中一个控件绑定另一个控件的属性

    原文:WPF中一个控件绑定另一个控件的属性 如同一个Grid中的一个按钮根据另一个按钮的显示与否作出不同的响应: 绑定的时候通过ElementName来指定控件 <Grid Margin=&qu ...

  7. 两个组件绑定vuex中相同的状态值,但是一个组件改变的时候,另一个组件中的值同步改变了,但是页面没有更新

    最近在做项目中,遇到了一个问题,就是两个组件绑定vuex中相同的状态值,但是一个组件改变的时候,另一个组件中的值同步改变了,但是页面没有更新,只有数组有这个问题.后来思路就是深度监听到数组改变后,再更 ...

  8. c++中把一个函数中的语句复制到另一个语句中报错_从底层看前端(十一)—— JavaScript语法:脚本,模块和函数体。...

    这篇文章我们继续聊JavaScript语法. 在讲解具体的语法结构之前,先看看语法的一些基本规则. 脚本和模块 首先,JavaScript有两种源文件,一种叫脚本(script),一种叫做模块(mod ...

  9. [转]另一个SqlParameterCollection 中已包含 SqlParameter[解决方案]

    本着代码重用,减少变量的创建,希望参数能够重复使用 DataBase db = new DataBase();         SqlParameter[] prams ={ db.MakeInPar ...

最新文章

  1. Unity的三种Interceptor
  2. OpenCV4 DNN模块 Python APIs
  3. Spring Cloud:使用Ribbon实现负载均衡详解(下)
  4. 大牛是怎么思考设计MySQL优化方案
  5. iptables的配置实例
  6. python 2x和python 3x的区别_python2x和3x区别
  7. 02-继承的本质-Objective-C基础
  8. peewee mysql_scrapy中利用peewee插入Mysql
  9. 转:一个较完整的关键字过滤解决方案
  10. ofo 押金被强制理财?黄章回应 OPPO 涉嫌抄袭;三星华为折叠手机重名 | 极客头条...
  11. 【2021牛客暑期多校训练营9】E Eyjafjalla (倍增,dfs序,主席树)
  12. day21-字节流和字符流
  13. UT斯达康互动电视UI界面设计大赛作品 求拍砖
  14. kettle设置mysql时区_kettle中通过 时间戳(timestamp)方式 来实现数据库的增量同步操作(一)...
  15. SwiftUI内功之如何设计Struct和Class不要和陌生人说话
  16. iOS进阶 - GCD总结
  17. bom成本分析模型_拆解苹果HomePod发现BoM成本高达248.4美元
  18. Vue+Vux实现登录
  19. windows功能_Windows新功能全在这,新系统确实强大!
  20. I Can See You 远程控制软件最新下载地址(含所有设计文档)

热门文章

  1. 12.19-12.26任务总结
  2. The King wins!
  3. matlab rectangle图像,Matlab中对图像应用plot或者rectangle后的图像保存问题
  4. Linux下的函数执行时间的统计方法
  5. win版本caffe源码libcaffe研究
  6. C语言中void代表什么意思?
  7. 轨道列车自动驾驶和汽车自动驾驶的区别
  8. Spanner学习记录
  9. stm32 马达,风扇,蜂鸣器
  10. WSL2访问主机上的数据库(MySQL)