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

问题描述:

数据我现在有一个列表框:显示只允许在WPF列表框中的数据绑定

<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> 

而且我想只显示来自有一定userIditemssource行,我该怎么办呢?

谢谢。

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

+0

我将如何去过滤数据,我正在使用WCF RIA Services – 2011-04-18 00:47:50

+0

我不确定您的情况,但无论您在何处调用Web服务,无论是在代码背后还是ViewModel,添加类似于: bookingDomainDataSource = from b在bookingDomainDataSource中 其中b.UserID == [value] select b; – 2011-04-18 01:22:21

+0

你似乎写的东西确实有道理,但我无法让它起作用。 bookingDomainDataSource =来自b中的boo ...就像那样工作? – 2011-04-18 20:44:00

您想要define a filter for your listview

Uodate:抱歉错过了silverlight标签。但CollectionViewSource仍应该对你有用。这里有一个样本using the CollectionViewSource in Silverlight

+0

您发布的示例在我的Silverlight应用程序中似乎不起作用。无法使用GetDefault,因为它不存在。我正在使用system.windows.data – 2011-04-18 00:45:59