集合更改时的树网格视图绑定错误
我有一个 WPF MVVM 应用程序,其中包含一个自定义树网格视图,该视图从可观察集合中获取其信息。
如果我运行应用程序而不更改可观察集合中的任何内容,则它运行良好。
但是,如果我更改可观察集合中的项目,则会收到以下错误:
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.ItemsControl', AncestorLevel='1''. BindingExpression:Path=HorizontalContentAlignment; DataItem=null; target element is 'TreeListViewItem' (Name=''); target property is 'HorizontalContentAlignment' (type 'HorizontalAlignment')
关于如何解决此问题的任何想法?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
根据这篇非常短的博客文章当您尝试绑定
ListBoxItems
时,可能会发生此错误。现在,在上面的错误中,您在使用TreeListViewItem
的目标元素时遇到了问题,但我绝对可以看出这可能是同样的问题。您可以尝试博客建议的两种解决此问题的方法之一吗?两者都只是为 TreeListViewItem(或者在他的例子中为 ListBoxItem)创建自定义样式。两个建议是:将 OverridesDefaultStyle 设置为 true 并忽略该值
或者:
当然,您可以为
TreeListViewItem
而不是ListBoxItem
更改这些值。 =)According to this very short blog post this error can happen when you try to bind
ListBoxItems
. Now in your error above, you are having trouble with a target element ofTreeListViewItem
but I could definitely see how this could be the same problem. Could you try one of the two methods for fixing this that the blog suggests? Both are simply creating a custom style for the TreeListViewItem (or in his case a ListBoxItem). The two suggestions are to:Set OverridesDefaultStyle to true and just ignore the value
Or:
You would, of course, change these for
TreeListViewItem
not forListBoxItem
. =)