【发布时间】:2011-07-11 00:51:47
【问题描述】:
很抱歉没有为此发布任何代码,但我所有的努力似乎都没有结果。
我需要从 mouseDown 事件处理程序中获取一个文本块绑定到的 observableCollection 的名称,这样我就可以对数据执行一些操作,有什么办法吗?
我已将文本块的标记设置为 {binding},因此我将整个对象取回了文本块所绑定的对象。除此之外,我不确定下一步该去哪里。
更新:
原因是我有 2 个多选树视图,具有层次结构的数据模板,每个模板共享相同的树视图,但绑定到不同的可观察集合。
如果我的集合中该项目的 IsSelected 值为 true,则我的多选工作方式是对每个树视图应用样式。
现在我在我的数据模板中使用文本块的 Mousedown 事件处理程序来获取我正在处理的项目,但有些项目可以同时在两个集合中。我需要知道要在哪个项目上设置 IsSelected 值。使用 Binding{tag} 我得到了我需要设置的项目,但没有得到它所在的集合。
我使用 Mousedown 作为事件处理程序,因为如果您单击一个项目以选择它,然后再次单击它需要取消选择,并且树视图事件处理程序似乎不允许这种情况发生(SelectedItemChanged 等)。
作为旁注,我还需要能够隐藏 Treeview 的默认选定样式,因为它没有被使用并且它会变得混乱。
【问题讨论】:
-
observableCollection 的“名称”是什么意思?
-
变量的名称,我有一个名为“可用”的集合和一个名为“已选”的集合,我只需要某种方法来确定我在其中选择项目的集合。
-
变量名在运行时不可用。如果您发布您的实际目标,也许我们可以帮助您找到另一种实现目标的方法。
-
@Gabe 谢谢,我可能走错了路,解决这个问题太久了,哈哈
标签: c# wpf data-binding