不为此发布任何代码而道歉,但我的所有努力似乎无处可去。
我需要获取一个observableCollection的名称,一个textblock是从mouseDown事件处理程序绑定的,所以我可以对数据执行一些操作,有没有办法做到这一点?
我已经将textblock的Tag设置为{binding},所以我得到了文本块绑定的整个对象。除此之外我不知道下一步该去哪里。
更新
原因是我有2个多选树视图,带有一个层次数据模板,每个模板共享相同的树视图但绑定到不同的可观察集合。
我的多选方式的工作方式是,如果我的集合中该项的IsSelected值为true,则将样式应用于每个树视图。
现在我正在使用我的datatemplate中的textblock的Mousedown事件处理程序来获取我正在处理的项目,但是一些项目可以同时存在于两个集合中。我需要知道在哪个项目上设置IsSelected值。使用Binding {tag}我得到了我需要设置的项目,但不是它所在的集合。
我正在使用Mousedown作为事件处理程序,因为如果单击一个项目来选择它,然后再次单击它需要取消选择,树视图事件处理程序似乎不允许这种情况发生(SelectedItemChanged等)。
作为附注,我还需要能够隐藏Treeview的默认选定样式,因为它没有被使用,而且会让人感到困惑。
答案 0 :(得分:1)
您无法确定项目所在的集合,但您可以确定用户点击的TreeView。然后,您可以通过了解TreeView来获取集合,这可以解决您当前的问题。