2013-09-07 10 views
5

Ho il seguente ComboBox in WPF. So che posso aggiungere l'opzione ALL con CompositeCollection, ma non so come. Sarebbe bello se qualcuno mi aiutasse con un breve tutorial.Come aggiungere l'opzione "Tutti" a una casella combinata in WPF con associazione dal database

<ComboBox SelectionChanged="ComboBoxOperatingPoints_SelectionChanged" 
      x:Name="ComboBoxOperatingPoints" 
      DropDownOpened="ComboBoxOperatingPoints_DropDownOpened_1" 
      FontSize="30" 
      HorizontalAlignment="Right" 
      Margin="40,40,0,0" 
      VerticalAlignment="Top" 
      Width="200" 
      Height="50" 
      IsSynchronizedWithCurrentItem="True" 
      ItemsSource="{Binding OperatingPoints}" 
      DisplayMemberPath="name" 
      SelectedValue="{Binding OperatingPointID,UpdateSourceTrigger=PropertyChanged,TargetNullValue=''}" 
      SelectedValuePath="operating_point_id"> 
</ComboBox> 
+0

scaricare questo controllo utente: http://www.codeproject.com/Articles/563862/Multi-Select-ComboBox-in-WPF –

+1

@eranotzap Spiacente, non ho bisogno di usare un controllo personalizzato per questo lavoro. Come so che è possibile con un CompositeCollection e se c'è un modo per farlo con questo mi piacerebbe impararlo. –

risposta

8

Prova questo (msdn):

<ComboBox x:Name="ComboBoxOperatingPoints" 
      SelectionChanged="ComboBoxOperatingPoints_SelectionChanged" 
      Width="200" Height="50" 
      IsSynchronizedWithCurrentItem="True" 
      DisplayMemberPath="name"   
      SelectedValuePath="operating_point_id"> 
    <ComboBox.Resources> 
     <CollectionViewSource x:Key="comboBoxSource" Source="{Binding Path=OperatingPoints}" /> 
    </ComboBox.Resources> 
    <ComboBox.ItemsSource> 
     <CompositeCollection> 
      <local:OpPoint name="all" operating_point_id="-1" /> 
      <CollectionContainer Collection="{Binding Source={StaticResource comboBoxSource}}" /> 
     </CompositeCollection> 
    </ComboBox.ItemsSource> 
</ComboBox> 
+0

grazie funziona bene. –