Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe DataServiceCollection<T>

Rappresenta una raccolta di entità dinamica che fornisce notifiche in caso di aggiunta o rimozione di elementi oppure quando viene aggiornato l'elenco.

Spazio dei nomi:  System.Data.Services.Client
Assembly:  System.Data.Services.Client (in System.Data.Services.Client.dll)

public class DataServiceCollection<T> : ObservableCollection<T>

Parametri di tipo

T

Tipo di entità.

Il tipo DataServiceCollection<T> espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoDataServiceCollection<T>()Crea una nuova istanza della classe DataServiceCollection<T>.
Metodo pubblicoDataServiceCollection<T>(DataServiceContext)Crea una nuova istanza della classe DataServiceCollection<T> che utilizza l'oggetto DataServiceContext specificato.
Metodo pubblicoDataServiceCollection<T>(IEnumerable<T>)Crea una nuova istanza della classe DataServiceCollection<T> in base all'esecuzione della query.
Metodo pubblicoDataServiceCollection<T>(IEnumerable<T>, TrackingMode)Crea una nuova istanza della classe DataServiceCollection<T> basata sull'esecuzione di query e con la modalità di verifica specificata.
Metodo pubblicoDataServiceCollection<T>(DataServiceContext, String, Func<EntityChangedParams, Boolean>, Func<EntityCollectionChangedParams, Boolean>)Crea una nuova istanza della classe DataServiceCollection<T> con i delegati del metodo di modifica forniti e che utilizza l'oggetto DataServiceContext specificato.
Metodo pubblicoDataServiceCollection<T>(IEnumerable<T>, TrackingMode, String, Func<EntityChangedParams, Boolean>, Func<EntityCollectionChangedParams, Boolean>)Crea una nuova istanza della classe DataServiceCollection<T> in base all'esecuzione di query e con i delegati del metodo di modifica forniti.
Metodo pubblicoDataServiceCollection<T>(DataServiceContext, IEnumerable<T>, TrackingMode, String, Func<EntityChangedParams, Boolean>, Func<EntityCollectionChangedParams, Boolean>)Crea una nuova istanza della classe DataServiceCollection<T> in base all'esecuzione di query, con i delegati del metodo di modifica forniti e che utilizza l'oggetto DataServiceContext fornito.
In alto

  NomeDescrizione
Proprietà pubblicaContinuationOttiene un oggetto di continuazione utilizzato per restituire il set successivo di risultati di paging.
Proprietà pubblicaCountOttiene il numero di elementi contenuti in Collection<T>. (Ereditato da Collection<T>)
Proprietà pubblicaItemOttiene o imposta l'elemento in corrispondenza dell'indice specificato. (Ereditato da Collection<T>)
Proprietà protetta.ItemsOttiene un wrapper dell'oggetto IList<T> per l'insieme Collection<T>. (Ereditato da Collection<T>)
In alto

  NomeDescrizione
Metodo pubblicoAddAggiunge un oggetto alla fine dell'insieme Collection<T>. (Ereditato da Collection<T>)
Metodo protettoBlockReentrancy Impedisce ai tentativi rientranti di modificare questa raccolta. (Ereditato da ObservableCollection<T>)
Metodo protettoCheckReentrancy Controlli se i tentativi rientranti possono modificare questa raccolta. (Ereditato da ObservableCollection<T>)
Metodo pubblicoClear()Rimuove tutti gli elementi dall'insieme Collection<T>. (Ereditato da Collection<T>)
Metodo pubblicoClear(Boolean)Rimuove tutti gli elementi dalla raccolta e facoltativamente li disconnette da DataServiceContext.
Metodo protettoClearItemsRimuove tutti gli elementi dalla raccolta. (Ereditato da ObservableCollection<T>)
Metodo pubblicoContainsDetermina se un elemento è incluso in Collection<T>. (Ereditato da Collection<T>)
Metodo pubblicoCopyToCopia l'intero insieme Collection<T> in un oggetto Array compatibile unidimensionale, a partire dall'indice specificato della matrice di destinazione. (Ereditato da Collection<T>)
Metodo pubblicoDetachDisabilita il rilevamento DataServiceContext di tutti gli elementi nella raccolta.
Metodo pubblicoEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo protettoFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoGetEnumeratorRestituisce un enumeratore che scorre la classe Collection<T>. (Ereditato da Collection<T>)
Metodo pubblicoGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoIndexOfCerca l'oggetto specificato e restituisce l'indice in base zero della prima occorrenza nell'intera classe Collection<T>. (Ereditato da Collection<T>)
Metodo pubblicoInsertInserisce un elemento in Collection<T> in corrispondenza dell'indice specificato. (Ereditato da Collection<T>)
Metodo protettoInsertItemAggiunge un elemento specificato alla raccolta in corrispondenza dell'indice specificato. (Esegue l'override di ObservableCollection<T>.InsertItem(Int32, T)).
Metodo pubblicoLoad(T)Carica un singolo oggetto entità nella raccolta.
Metodo pubblicoLoad(IEnumerable<T>)Carica una raccolta di oggetti entità nella raccolta.
Metodo protettoMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoMove Sposta l'elemento che si trova in corrispondenza dell'indice specificato in una nuova posizione nella raccolta. (Ereditato da ObservableCollection<T>)
Metodo protettoMoveItem Sposta l'elemento che si trova in corrispondenza dell'indice specificato in una nuova posizione nella raccolta. (Ereditato da ObservableCollection<T>)
Metodo protettoOnCollectionChanged Solleva l'evento CollectionChanged con gli argomenti forniti. (Ereditato da ObservableCollection<T>)
Metodo protettoOnPropertyChanged Solleva l'evento PropertyChanged con gli argomenti forniti. (Ereditato da ObservableCollection<T>)
Metodo pubblicoRemoveRimuove la prima occorrenza di un oggetto specifico dall'insieme Collection<T>. (Ereditato da Collection<T>)
Metodo pubblicoRemoveAt Rimuove l'elemento che si trova in corrispondenza dell'indice specificato, da Collection<T>. (Ereditato da Collection<T>)
Metodo protettoRemoveItem Rimuove dalla raccolta l'elemento che si trova in corrispondenza dell'indice specificato. (Ereditato da ObservableCollection<T>)
Metodo protettoSetItem Sostituisce l'elemento che si trova in corrispondenza dell'indice specificato. (Ereditato da ObservableCollection<T>)
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
In alto

  NomeDescrizione
Evento pubblicoCollectionChanged Si verifica quando un elemento viene aggiunto, rimosso, modificato, spostato, o l'intero elenco viene aggiornato. (Ereditato da ObservableCollection<T>)
Evento protettoPropertyChanged Si verifica quando il valore di una proprietà cambia. (Ereditato da ObservableCollection<T>)
In alto

  NomeDescrizione
Implementazione esplicita dell'interfacciaMetodo privatoICollection.CopyTo Copia gli elementi di ICollection in un Array, partendo da un indice particolare dell'Array. (Ereditato da Collection<T>)
Implementazione esplicita dell'interfacciaProprietà privataICollection<T>.IsReadOnlyOttiene un valore che indica se ICollection<T> è di sola lettura. (Ereditato da Collection<T>)
Implementazione esplicita dell'interfacciaProprietà privataICollection.IsSynchronizedOttiene un valore che indica se l'accesso a ICollection è sincronizzato (thread-safe). (Ereditato da Collection<T>)
Implementazione esplicita dell'interfacciaProprietà privataICollection.SyncRootOttiene un oggetto che può essere utilizzato per sincronizzare l'accesso a ICollection. (Ereditato da Collection<T>)
Implementazione esplicita dell'interfacciaMetodo privatoIEnumerable.GetEnumeratorRestituisce un enumeratore che consente di scorrere una raccolta. (Ereditato da Collection<T>)
Implementazione esplicita dell'interfacciaMetodo privatoIList.AddAggiunge un elemento a IList. (Ereditato da Collection<T>)
Implementazione esplicita dell'interfacciaMetodo privatoIList.Contains Determina se IList contiene un valore specifico. (Ereditato da Collection<T>)
Implementazione esplicita dell'interfacciaMetodo privatoIList.IndexOf Determina l'indice di un elemento specifico in un oggetto IList. (Ereditato da Collection<T>)
Implementazione esplicita dell'interfacciaMetodo privatoIList.Insert Inserisce un elemento in un oggetto IList in corrispondenza dell'indice specificato. (Ereditato da Collection<T>)
Implementazione esplicita dell'interfacciaProprietà privataIList.IsFixedSize Ottiene un valore che indica se un oggetto IList ha dimensioni fisse. (Ereditato da Collection<T>)
Implementazione esplicita dell'interfacciaProprietà privataIList.IsReadOnly Ottiene un valore che indica se un oggetto IList è di sola lettura. (Ereditato da Collection<T>)
Implementazione esplicita dell'interfacciaProprietà privataIList.ItemOttiene o imposta l'elemento in corrispondenza dell'indice specificato. (Ereditato da Collection<T>)
Implementazione esplicita dell'interfacciaMetodo privatoIList.Remove Rimuove la prima occorrenza di un oggetto specifico da un oggetto IList. (Ereditato da Collection<T>)
Implementazione esplicita dell'interfacciaEvento privatoINotifyPropertyChanged.PropertyChanged Si verifica quando il valore di una proprietà cambia. (Ereditato da ObservableCollection<T>)
In alto

WCF Data Services fornisce la classe DataServiceCollection<T> affinché nelle applicazioni client sia possibile supportare l'associazione di dati ai controlli. Questa classe eredita dalla classe ObservableCollection<T> che implementa l'interfaccia INotifyCollectionChanged e rappresenta il meccanismo principale di associazione dati per Windows Presentation Foundation (WPF) e per le applicazioni basate su Silverlight.

È possibile caricare un insieme di associazioni ObservableCollection<T> tramite qualsiasi insieme che implementi l'interfaccia IEnumerable<T>. Elementi caricati nell'insieme di associazioni devono implementare l'interfaccia INotifyPropertyChanged. Per ulteriori informazioni, vedere Associazione di dati a controlli (WCF Data Services).

L'esempio seguente è tratto dalla pagina code-behind per una pagina XAML (Extensible Application Markup Language) in cui viene definita la finestra SalesOrders in WPF. Quando viene caricata la finestra, viene creato un oggetto DataServiceCollection<T> sulla base del risultato di una query che restituisce clienti con gli oggetti correlati, filtrati in base al paese. Questo risultato viene associato alla proprietà DataContext dell'oggetto StackPanel che rappresenta il controllo del layout radice per la finestra WPF.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data.Services.Client;
using NorthwindClient.Northwind;

namespace NorthwindClient
{
    public partial class CustomerOrdersWpf : Window
    {
        private NorthwindEntities context;
        private DataServiceCollection<Customer> trackedCustomers;
        private const string customerCountry = "Germany";
        private const string svcUri = "http://localhost:12345/Northwind.svc/";

        public CustomerOrdersWpf()
        {
            InitializeComponent();
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                // Initialize the context for the data service.
                context = new NorthwindEntities(new Uri(svcUri));

                // Create a LINQ query that returns customers with related orders.
                var customerQuery = from cust in context.Customers.Expand("Orders")
                                    where cust.Country == customerCountry
                                    select cust;

                // Create a new collection for binding based on the LINQ query.
                trackedCustomers = new DataServiceCollection<Customer>(customerQuery);

                // Bind the root StackPanel element to the collection;
                // related object binding paths are defined in the XAML.
                LayoutRoot.DataContext = trackedCustomers;
            }
            catch (DataServiceQueryException ex)
            {
                MessageBox.Show("The query could not be completed:\n" + ex.ToString());
            }
            catch (InvalidOperationException ex)
            {
                MessageBox.Show("The following error occurred:\n" + ex.ToString());
            }
        }
        private void saveChangesButton_Click(object sender, RoutedEventArgs e)
        {
            // Save changes to the data service.
            context.SaveChanges();
        }
    }
}


Di seguito è riportato l'elemento XAML che consente di definire la finestra SalesOrders in WPF.


    <Window x:Class="CustomerOrdersWpf"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             Height="423" Width="679" Loaded="Window_Loaded">
    <StackPanel Orientation="Vertical" Height="Auto" Name="LayoutRoot" Width="Auto">
        <Label Content="Customer ID" Margin="20,0,0,0" />
        <ComboBox Name="customerIDComboBox" DisplayMemberPath="CustomerID" ItemsSource="{Binding}" 
                  IsSynchronizedWithCurrentItem="True" SelectedIndex="0" Height="23" Width="120" 
                  HorizontalAlignment="Left" Margin="20,0,0,0" VerticalAlignment="Center" />
        <ListView ItemsSource="{Binding Path=Orders}" Name="ordersDataGrid" Margin="34,46,34,50">
            <ListView.View>
                <GridView AllowsColumnReorder="False" ColumnHeaderToolTip="Line Items">
                    <GridViewColumn DisplayMemberBinding="{Binding Path=OrderID, Mode=OneWay}" 
                        Header="Order ID" Width="50"/>
                    <GridViewColumn DisplayMemberBinding="{Binding Path=OrderDate, Mode=TwoWay}" 
                        Header="Order Date" Width="50"/>
                    <GridViewColumn DisplayMemberBinding="{Binding Path=Freight, Mode=TwoWay}" 
                        Header="Freight Cost" Width="50"/>
                </GridView>
            </ListView.View>
        </ListView>
        <Button Name="saveChangesButton" Content="Save Changes" Click="saveChangesButton_Click" 
                Width="80" Height="30" Margin="450,0,0,0"/>
    </StackPanel>
</Window>


.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4

.NET Framework Client Profile

Supportato in: 4

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft