在WPF列表框数据绑定中仅显示允许的数据

时间:2011-04-18 00:32:15

标签: c# wpf silverlight xaml data-binding

我目前有一个列表框:

<ListBox HorizontalAlignment="Left"
         ItemsSource="{Binding Data, ElementName=bookingDomainDataSource}"
         Margin="158,134,0,45"
         x:Name="bookingListBox"
         Width="429"
         SelectedItem="{Binding Path=SelectedItem, Mode=TwoWay, ElementName=bookingComboBox}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="{Binding Path=userId}"
                           Width="100" />
                <TextBlock Text="{Binding Path=bookingName}"
                           Width="100" />
                <TextBlock Text="{Binding Path=bookingDate}"
                           Width="100" />
                <TextBlock Text="{Binding Path=showId}"
                           Width="100" />
                <TextBlock Text="{Binding Path=paymentId}"
                           Width="100" />
                <TextBlock Text="{Binding Path=ticketId}"
                           Width="100" />
                <TextBlock Text="{Binding Path=ticketQuantity}"
                           Width="100" />
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

我想只显示itemssource中有某个userId的行,我该怎么做?

感谢。

2 个答案:

答案 0 :(得分:3)

我认为最好的解决方案是在到达前端之前过滤数据源。

答案 1 :(得分:0)

您想要define a filter for your listview

Uodate :抱歉错过了silverlight标签。但是CollectionViewSource对您仍然有用。这里有一个示例using the CollectionViewSource in Silverlight