ListView 绑定错误解决方案
错误: 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 ‘ListViewItem’ (Name=‘’); target property is ‘HorizontalContentAlignment’ (type ‘HorizontalAlignment’)
我在简单的WrapPanel上遇到了与我的ItemPanel相同的问题,对于具有复杂ItemTemplate的列表视图(尽管在任何地方都没有奇怪的对齐绑定)。在创建包含 ListView 的页面时,它会抱怨 HorizontalContentAlignment 和 VerticalContentAlignment 的绑定错误,并且之后它可以正常工作
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
我用 ttps://www.nuget.org/packages/VirtualizingWrapPanel/ 替换了WrapPanel,因为我无论如何都想虚拟化。错误现在消失了。请注意,由于某种原因,与标准包装板相比,定向的工作方式相反。
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<wpftk:VirtualizingWrapPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>