Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Greenpeace
Fruibilità di dati SharePoint in Windows Phone 7 con WCF e LINQ (4/4)
Scritto da Fabio Carucci il 11-01-2011 ore 09:07
  1. ....
  2. 			<ListBox x:Name="lstBox" 
  3.                      Grid.Row="1" 
  4.                      FontSize="18" 
  5.                      BorderThickness="2,3,2,0"
  6.                      DataContext="{Binding ElementName=lstBox}" 
  7.                      FontStretch="ExtraExpanded"  Background="#FF040924">
  8.                 <ListBox.ItemTemplate>
  9.                     <DataTemplate>
  10.                         <StackPanel Orientation="Horizontal" >
  11.                             <TextBlock x:Name="txtProductId"  
  12.                                        Margin="15" 
  13.                                        Text="{Binding Path=ProductId, Mode=OneWay}" 
  14.                                        Foreground="White"
  15.                                        FontWeight="ExtraBold"  
  16.                                        FontSize="24"  
  17.                                        FontFamily="Arial"  />
  18.                             <TextBlock x:Name="txtProductName"
  19.                                        Margin=" 15" 
  20.                                        Text="{Binding ProductName, Mode=OneWay}" 
  21.                                        Foreground="White" FontWeight="ExtraBold" 
  22.                                        FontSize="24"
  23.                                        FontFamily="Arial" />
  24.                             <TextBlock x:Name="txtProductPrice" 
  25.                                        Margin=" 15" 
  26.                                        Text="{Binding ProductPrice, Mode=OneWay}"
  27.                                        Foreground="White" 
  28.                                        FontWeight="ExtraBold" 
  29.                                        FontSize="24" FontFamily="Arial" />
  30.                         </StackPanel>
  31.                     </DataTemplate>
  32.                 </ListBox.ItemTemplate>
  33.             </ListBox>
  34.         </Grid>
  35.     </Grid>
  36. </phone:PhoneApplicationPage>
Si è appena terminato di costruire una form contenente un testo, un pulsante e una lista, ora va inserita un po' di logica. Per prima cosa aggiungete un riferimento al WCF Service tramite Add Service Reference nella finestra di progetto, e create la classe OrderClient.cs nella quale inserite il seguente codice:
  1. public class OrderClient
  2. {
  3. 	public string OrderNumber; 
  4. 	public string OrderId;  
  5. 	public string OrderCustomer;	
  6. }
quindi la logica vera e propria:
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Net;
  5. using System.Windows;
  6. using System.Windows.Controls;
  7. using System.Windows.Documents;
  8. using System.Windows.Input;
  9. using System.Windows.Media;
  10. using System.Windows.Media.Animation;
  11. using System.Windows.Shapes;
  12. using Microsoft.Phone.Controls;
  13. using WindowsPhoneApplication1.WCFOrderService;
  14.  
  15. namespace WindowsPhoneApplicationOrderList
  16. {
  17.     public partial class MainPage : PhoneApplicationPage
  18.     {        
  19.         public MainPage()
  20.         {
  21.             InitializeComponent();
  22.  
  23.             btnGetData.Click += new RoutedEventHandler(btnGetData_Click);
  24.         }
  25.  
  26.         void btnGetData_Click(object sender, RoutedEventArgs e)
  27.         {
  28.             WCFOrderServiceClient proxy = new WCFOrderServiceClient();
  29.             proxy.GetOrderCompleted += new EventHandler<GetOrderCompletedEventArgs>(proxy_GetOrderCompleted);
  30.             proxy.GetOrderAsync();
  31.         }
  32.  
  33.         void proxy_GetOrderCompleted(object sender, GetOrderCompletedEventArgs e)
  34.         {
  35.             List<OrderClient> lstResults = new List<OrderClient>();
  36.             OrderClient order;
  37.             List<OrderDTO> results = e.Result.ToList();
  38.             foreach (var r in results)
  39.             {
  40.                 order = new OrderClient
  41.                 {
  42.                     OrderNumber = r.OrderNumber,
  43.                     OrderId = r.OrderId,
  44.                     OrderCustomer = r.OrderCustomer
  45.                 };
  46.                 lstResults.Add(order);
  47.             }
  48.             lstBox.ItemsSource = lstResults;
  49.         }
  50.     }
  51. }
Alla pressione del pulsante si consuma il WCF Service che restituisce in una List di OrderClient i dati riguardanti gli ordini e li passa alla listbox presente nella form di Windows Phone 7.
Precedente: Gli strumenti Intel per la programmazione parallela in C++: Intel Cilk Plus (4/4)
Successiva: Realizzare il proprio widget Twitter con PHP
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.271 secondi.