我正在使用一个包含ListBox
. 列表框可以显示“图标”和“列表”视图。为了实现这一点,我们使用 ListBoxItem
了动态应用于 的样式,ListBox
以及一对对应ItemsPanelTemplate
的 s。照原样,它显示得很漂亮。但是,在加载此对话框时,我们会遇到几十个绑定错误,例如:
System.Windows.Data 错误:4:找不到与引用'RelativeSource FindAncestor,AncestorType='System.Windows.Controls.ItemsControl',AncestorLevel='1''的绑定源。绑定表达式:路径=垂直内容对齐;数据项=空;目标元素是'ListBoxItem'(名称='');目标属性是“VerticalContentAlignment”(类型“VerticalAlignment”)
我们的理论是样式和模板在 之前加载ListBox
,并且无法使用以下代码找到它们绑定的属性:
<Setter Property="VerticalContentAlignment" Value="{Binding
Path=VerticalContentAlignment, RelativeSource={RelativeSource
AncestorType={x:Type ItemsControl}}}"/>
ListBox
这似乎在初始化和应用样式和模板之前发生了一次或多次。对话框完成初始化后,错误停止。
有没有人遇到过这个?任何人都可以提出我们可能忽略的解决方案吗?