2011-07-04 122 views
1

在我的列表框中,我想將每個項目的IsSelected屬性綁定到ViewModel,併成功完成。然後,我想讓選定的物品在沒有鍵盤焦點時更明顯,並且this answer告訴我如何去做。無論是獨自特色的作品,但將它們結合起來導致在啓動時出現以下異常:爲什麼我不能組合這兩個ListBox功能?

XamlParseException:A「綁定」不能對'價值「二傳手」類型的屬性進行設置。 '綁定'只能在DependencyObject的DependencyProperty上設置。

這裏是我的XAML:

<ListBox x:Name="objectList" ItemsSource="{Binding FilteredList}" SelectionMode="Extended"> 
    <ListBox.ItemContainerStyle> 
     <Style TargetType="{x:Type ListBoxItem}"> 
      <Style.Resources> 
       <!--Make unfocused selected items more visible--> 
       <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="LightBlue" Opacity=".5"/> 
      </Style.Resources> 
      <!-- Support multiselect--> 
      <Setter Property="IsSelected" Value="{Binding IsSelected}"/> 
     </Style> 
    </ListBox.ItemContainerStyle> 
</ListBox> 
+0

奇怪的是,我複製粘貼你的XAML,我沒有得到任何錯誤。 – anivas

+0

@anivas:謝謝,但你是否嘗試將它附加到實際的ViewModel?那麼,可悲的是,即使我拼錯了兩個綁定,我也會得到這個錯誤....看起來我只需要選擇一個幾乎看不見的選擇背景! – Qwertie

回答

0

我試圖在一個新的乾淨的空項目中重現此錯誤仍然發生......如果.NET Framework版本是3.5。但是,如果將.NET Framework版本更改爲4,則該錯誤消失。這可能是.NET 3.5中的一個錯誤。

+0

這不是一個錯誤,我完全忽略了你可能使用的是舊版本,在3.5中它可能是在Silverlight中處理的。 –

+0

不,因爲*這兩個功能本身都很好*。 – Qwertie

+0

這是什麼意思?你在談論什麼兩個特徵? –

1

無法重現這一點,那將是一個錯誤,我會想到在Silverlight,但不上頭。在SL中,您無法使用Setters創建綁定。

+0

謝謝你的嘗試。有什麼方法可以在XAML中調試問題嗎? – Qwertie

+0

我不知道,我只知道如何調試失敗的綁定;您可以上傳一些可靠地導致此問題的項目,以便其他人可以查看它。除非這個問題可以被複制,否則我現在不能幫你解決問題。 –