首页 / 知识
关于Silverlight:数据绑定时获取列表框的ItemContainer
2023-04-15 03:59:00

Getting at the Listbox's ItemContainer when data binding有没有一种方法可以获取列表框中所选项目的ItemContaner? 我可以在Silverlight 2.0 Beta 1中使用,但是该容器在Silverlight 2.0的Beta 2中隐藏了。 当试图取消选择列表框项目的大小至特定大小以及将其选择为可变大小时,我正在尝试调整列表框项目的大小。 我还想获取动画所选项目的相对位置。 成长为可变大小并获得相对位置是为什么我需要进入列表框项的原因。 我应该澄清一下,我没有明确将项目添加到列表框中。 我在xaml和DataTemplates中使用数据绑定。 我遇到的麻烦是所选项目的DataTemplate的ItemContainer。 有一种方法可以获取包含项的UIElement以及项到UIElement的映射的Panel。您必须从ListBox继承(这实际上适用于任何ItemsControl),并重写PrepareContainerForItemOverride:
这有点骇人听闻,但效果很好。 Silverlight 5更新。
现在支持RelativeSource AncestorType,使此操作更加容易。 看来您可以使用相对绑定从ItemTemplate获得Item Container。
我在这里找到了这个解决方案。 如果要将非UI元素(例如字符串或非UI数据对象)添加到列表框中,则可能很困难。但是,如果在将项目添加到列表框之前将它们包装在某些FrameworkElement派生的对象中,则可以使用TransformToVisual获取相对大小,并使用Height和Width设置项目的大小。 通常,您可以将对象包装在ContentControl中,如下所示。代替:
做这个:
现在,当您获得_ListBox.SelectedItem时,可以将其转换为ContentControl并设置大小并获取相对位置。如果需要原始对象,只需获取项目的Content属性的值。 |
最新内容
相关内容
linux储存命令数据?
linux储存命令数据?,系统,工作,地址,信息,标准,命令,工具,实时,数据,分析,linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目linux命令大全数据库?
linux命令大全数据库?,服务,系统,平台,状态,软件,通用,环境,数据,神州,地址,在Linux上用命令怎么连接数据库(linux连接oracle数据库命令)登录linux上数据库的命令?
linux上数据库的命令?,服务,系统,信息,地址,命令,密码,工具,管理,数据,单位,在Linux上用命令怎么连接数据库(linux连接oracle数据库命令)1、登linux命令dm数据库?
linux命令dm数据库?,地址,软件,时间,设备,名字,服务,位置,名称,公司,命令,linux创建dm数据库超时linux/sys下无法新建 方法如下打开c盘,在用户linux没有命令行选项?
linux没有命令行选项?,系统,首页,命令,工具,分析,第一,软件,异常,终端,空格,不知道为什么在linux命令行下输入一些命令怎么都显示没有找到?1、linux使用命令的方法?
linux使用命令的方法?,系统,信息,工具,标准,数据,命令,左下角,目录,文件夹,图标,linux的cd命令的使用方法1、cd ~:回到用户家目录。注:这得看你linux存储数据命令?
linux存储数据命令?,系统,管理,数据,设备,情况,地址,工作,命令,服务,平台,Linux文件系统操作命令1、cat:可以显示文件的内容(经常和more搭配使linux数据库查找命令?
linux数据库查找命令?,位置,名称,状态,服务,软件,信息,系统,命令,名字,密码,在linux中如何用命令查找文件在哪使用查找命令 “find”命令允许linux数据库同步命令?
linux数据库同步命令?,信息,系统,汽车,车辆,服务,工作,通信,一致,分析,数据,DB2数据库在linux操作系统的指令有哪些?1、linux系统常用操作命令linux磁盘列表命令?
linux磁盘列表命令?,情况,管理,系统,单位,信息,数据,命令,磁盘,服务,时间,linux的进入磁盘命令1、查看磁盘空间 -df df命令以磁盘分区为单位查linux建立数据库命令?
linux建立数据库命令?,软件,系统,工作,数据,密码,工具,数据库,一致,网络,服务,linux中在shell中怎么创建一个数据库1、以下的文章主要讲述的是linux命令进数据库?
linux命令进数据库?,地址,系统,名字,服务,密码,命令,读法,数据库,操作系统,主机,linux系统mysql数据库怎么进入数据库首先确保linux下mysql安