Inquiridor
Preencher combo com o retorno do WCF

Pergunta
-
Bom dia
O wcf retornou uma ObservableCollection. Como faço para pegar o nome de um objeto para preencher o combo?
Combo.ItemsSource = e.Result;
Da forma acima está retornando "SilverlightApplication.ServiceReport.UnidadeInfo" três vezes porque tenho 3 registros.
Att.
Teles
terça-feira, 24 de janeiro de 2012 11:28
Todas as Respostas
-
Olá, Teles
Tente adicionar um item template, como exemplo.
C# Code
namespace Silver { public partial class combo : UserControl { public combo() { InitializeComponent(); ObservableCollection<Usuario> ListUsuario = new ObservableCollection<Usuario>(); ListUsuario.Add(new Usuario() { ID = "1", Nome = "Joaquim" }); ListUsuario.Add(new Usuario() { ID = "2", Nome = "Jose" }); cbx.ItemsSource = ListUsuario; } } public class Usuario { public string ID { get; set; } public string Nome { get; set; } } }
XAML
<ComboBox Height="23" HorizontalAlignment="Left" Margin="60,52,0,0" Name="cbx" VerticalAlignment="Top" Width="120" > <ComboBox.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <TextBlock Text="{Binding ID}" Margin="5" /> <TextBlock Text="{Binding Nome}" Margin="5" /> </StackPanel> </DataTemplate> </ComboBox.ItemTemplate> </ComboBox>
Américo Arvani
MCP Frw web 2.0 / MCPD (Enterprise Application Developer) Frw web/win/wcf 3.5
MBA – Post Graduate in Strategic Management of Information Technology
Se funcionou compartilhe a solução.
http://americoarvani.blogspot.com
terça-feira, 24 de janeiro de 2012 14:12 -
Eu faço assim:
no xaml:
<ComboBox x:Name="dropEspecialidade" ItemsSource="{Binding}" SelectedValuePath="idEspecialidade" DisplayMemberPath="Especialidade" Margin="71,0,0,0" Width="200" >
no codigo:
ObservableCollection<objEspecialidade> lista = new ObservableCollection<objEspecialidade>();
lista = e.Result;
dropEspecialidade.ItemsSource = lista;
dropEspecialidade.SelectedIndex = 0;//
fazendo dessa forma, o dropdown irá mostrar no display (DisplayMemberPath) todas as especialidades e terá como valor selecionado (SelectedValuePath) o id da especialidade em questão. Postei um exemplo real, já em uso e funcionando perfeitamente.
obs: "objEspecialidade" é uma classe do meu projeto que possui os campos idEspecialidade e Especialidade. O wcf retorna uma lista dessa classe.
- Sugerido como Resposta Manoel Bruno P. Lima quinta-feira, 3 de maio de 2012 04:33
sexta-feira, 3 de fevereiro de 2012 14:25 -
No xaml não existe essa propiedade: SelectedValuePath.
E agora?
Júnior Pacheco
quinta-feira, 20 de setembro de 2012 21:13 -
Bom dia, Pessoal.
Jr. PachekOo
Conforme citaram acima o preenchimento do combobox eu realizo da mesma maneira, já na hora de recuperar o item selecionado prefiro usar o seguinte procedimento:
ObjUsuario usuSelecionado = (ObjUsuario) ComboBox1.SelectedItem;
Att.
- Editado Manoel Bruno P. Lima sexta-feira, 5 de outubro de 2012 12:33 correção
sexta-feira, 5 de outubro de 2012 12:32