我有以下场景,我试图根据所选项目过滤项目。
这是列表框绑定到项目的示例:
<ListBox ItemsSource="{Binding Source={StaticResource MyCollectionViewSource}, Mode=OneWay}">
<ListBox.ItemTemplate>
<DataTemplate>
<DockPanel Visibility="{Binding Path=., Converter={StaticResource MyVisibilityConverter}}">
<CheckBox IsChecked="{Binding IsChecked}" DockPanel.Dock="Left" />
<TextBlock Text="{Binding Name}" VerticalAlignment="Center" />
</DockPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
上面的列表框有用户类型的项目。
我想要做的是从列表中过滤掉当前用户(如果当前登录的用户与在列表框中绑定的用户相同,则设置可见性)
这样用户就不能为某些任务添加自己。他只能添加他以外的用户。
我尝试使用转换器参数绑定到视图模型中的 CurrentUser 属性,但出现此错误
A 'Binding' cannot be set on the 'ConverterParameter' property of type 'Binding'. A 'Binding' can only be set on a DependencyProperty of a DependencyObject.
所以我认为我不能这样做。有没有办法通过绑定来实现这一点,或者我必须在绑定之前在列表中执行过滤器?