WCF到WPF客户端 - 填充ListBox

时间:2016-01-16 14:21:03

标签: c# wpf wcf listbox

这是一种从WCF服务的数据中填充ListBox的方法。

private void FillListbox()
        {
            ServiceReference1.Service1Client client = new ServiceReference1.Service1Client();
            client.Open();
            listBox.ItemsSource = client.GetAllProducts();            
        }

但是在ListBox中我只能看到

ProductListClient.ServiceReference1.Product

因此我在我的模型中添加了一个覆盖ToString()方法,但仍然无法在ListBox中看到我的数据。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

似乎绑定工作正常,您的列表包含项目。现在你需要在ListBox中实现ItemDataTemplate,如下所示:

<ListBox Width="400" Margin="10"
         ItemsSource="{Binding Source={StaticResource myTodoList}}">
   <ListBox.ItemTemplate>
     <DataTemplate>
       <StackPanel>
         <TextBlock Text="{Binding Path=TaskName}" />
         <TextBlock Text="{Binding Path=Description}"/>
         <TextBlock Text="{Binding Path=Priority}"/>
       </StackPanel>
     </DataTemplate>
   </ListBox.ItemTemplate>
 </ListBox>

忽略我的例子的命名。您需要适应应用程序中对象的名称