ComboBox binding - com valor "Select" ...inicialmente selecionado por defeito

Frage ComboBox binding - com valor "Select" ...inicialmente selecionado por defeito

  • Dienstag, 17. Januar 2012 14:32
     
     

    Olá,

    Tendo uma combobox com binding a um campo de uma tabela, como posso colocar "Select" no primeiro item seleccionado? 

Alle Antworten

  • Dienstag, 17. Januar 2012 18:32
     
     

    Já tentou usar a propriedade SelectedIndex?

    Bruno


    MVP Client Development - http://msmvps.com/blogs/bsonnino Twitter @bsonnino
  • Mittwoch, 18. Januar 2012 12:02
     
     

    Oi...

    Se eu utilizar por exemplo selectedIndex=0 --> é seleccionado o primeiro registo que é carregado da tabela ... mas não és isto que eu quero... o que pretendo fazer é:

    - Tenho uma lista de fábricas, que é carregada para um ComboBox ... nesta lista eu queria que aparecesse no primeiro item o seguinte texto "Seleccione uma fábrica".

  • Mittwoch, 18. Januar 2012 12:38
     
     

    Você pode usar um watermark como este daqui:

    http://pwlodek.blogspot.com/2009/11/watermark-effect-for-wpfs-textbox.html

    ou fazer como está nesta thread aqui:

    http://stackoverflow.com/questions/1426050/how-to-display-default-text-select-team-in-combo-box-on-pageload-in-wpf

    Bruno


    MVP Client Development - http://msmvps.com/blogs/bsonnino Twitter @bsonnino
  • Donnerstag, 19. Januar 2012 15:55
     
     

    Olá, vc pode usar uma CompositeCollection como ItemsSource de seu combo:

     

     <CompositeCollection x:Key="ListaComposite">
             <ComboBoxItem Content="SELECIONE" />
             <CollectionContainer Collection="{Binding LISTA_DO_BD,Source={x:Reference ComboBoxName}}" />
    </CompositeCollection>

     

     

    Att.


    Allan Tavares - Desenvolvedor Pleno - Spread Systems/Banco do Brasil
  • Montag, 5. März 2012 12:06
     
     

    Olá Alan,

    Estou colocando :

    ListaComposite - A tabela

    Lista_DO_BD - o dataset

    ComboboxName - o nome do combobox

    onde eu coloco o "campo" especifico da tabela, poderia colocar um exemplo mais detalhado?

    O meu código neste momento está assim:

     <Window.Resources>
            <my: oMeuDataSet x:Key="oMeuDataSet" />    
            <CollectionViewSource x:Key="plantViewSource" Source="{Binding Path=Plant, Source={StaticResource oMeuDataSet}}" />
    </Window.Resources>

      <ComboBox Name="myComboBox" Width="200" Background="White" IsEditable="True" >
                    <ComboBox.ItemsSource>
                        <CompositeCollection>
                            <ComboBoxItem IsSelected="True" Foreground="Black">Select Item</ComboBoxItem>
                            <CollectionContainer  Collection="{Binding Source={StaticResource plantViewSource}, Path=Short_Name}" />                       
                        </CompositeCollection>
                    </ComboBox.ItemsSource>
         </ComboBox>

    E o resultado é (aparece o nome da primeira fabrica, com os caracteres divididos por linhas):


    • Bearbeitet Tiago_VT Montag, 5. März 2012 12:50
    •  
  • Freitag, 30. März 2012 22:52
     
     

    Tiago, faz tempo que não entro no fórum, por isso vi sua resposta somente hoje.

    Creio que o seu problema neste caso é que vc colocou como path o "Short_Name"

    Collection="{Binding Source={StaticResource plantViewSource}, Path=Short_Name}

    então o WPF entendeu que sua lista é o Array de caracteres.

    Você pode colocar seu view source na sua "model" e simplesmente fazer o Binding.

    Ou tente (não testei): Collection="{StaticResource plantViewSource}"

    Att.


    Allan Tavares - Desenvolvedor Pleno - Spread Systems/Banco do Brasil