在我的 ListBox 中,我想将每个项目的 IsSelected 属性绑定到我的 ViewModel,并且成功地做到了。然后我想让选定的项目在没有键盘焦点时更加可见,这个答案告诉我该怎么做。任何一个功能都可以单独工作,但将它们结合起来会导致启动时出现以下异常:
XamlParseException:无法在“Setter”类型的“Value”属性上设置“Binding”。只能在 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>