美好的一天,ComboBoxItem繼續拋出綁定錯誤,儘管風格
我有一個combobox,我通過一個CollectionViewSource填充。這些項目是通過傳入項目類型的數據模板(在本例中爲ProjectViewModel)構建的。這是在.NET 4.0中的WPF。
在我window.resources,我指定了以下內容:
<Style TargetType="{x:Type ComboBoxItem}">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
</Style>
儘管這種風格,我仍然得到以下錯誤:
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 'ComboBoxItem' (Name=''); target property is 'HorizontalContentAlignment' (type 'HorizontalAlignment')
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.ItemsControl', AncestorLevel='1''. BindingExpression:Path=VerticalContentAlignment; DataItem=null; target element is 'ComboBoxItem' (Name=''); target property is 'VerticalContentAlignment' (type 'VerticalAlignment')
我指定的水平和垂直的ContentAlignment在ComboBox元素上,也無濟於事。這並不是一個可怕的問題,因爲這些項目顯示正確。然而,在調試時,當關閉窗口時,我確實得到大約10秒的延遲,同時它向輸出窗口輸出大約4000條錯誤消息(我需要打開這個窗口才能捕獲合法的綁定錯誤。)
我可能沒有正確讀取錯誤。爲什麼找不到綁定的有效源?據我所知,我使用ComboBox和CollectionViewSource的方式與他們的意圖一致。
我認爲有人在這裏解決這個問題:http://stackoverflow.com/questions/2666439/how-to-get-rid-of-annoying-horizontalcontentalignment-binding-warning – 2013-02-25 15:57:21
@DJBurb在這個問題的兩個建議基本上與我在解決方案中的風格相同。我曾嘗試在App.xaml中級別的風格,我試圖將其命名爲類型名ASLO。沒有變化。令人奇怪的是在進行在圓K. – CodeWarrior 2013-02-25 16:03:42