Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

Clase DataServiceCollection<T>

Representa una colección de entidades dinámica que proporciona notificaciones cuando se agregan o quitan elementos, o cuando se actualiza la lista.

Espacio de nombres:  System.Data.Services.Client
Ensamblado:  Microsoft.Data.Services.Client (en Microsoft.Data.Services.Client.dll)

public class DataServiceCollection<T> : ObservableCollection<T>

Parámetros de tipo

T

Tipo de entidad.

El tipo DataServiceCollection<T> expone los siguientes miembros.

  NombreDescripción
Método públicoDataServiceCollection<T>()Crea una nueva instancia de la clase DataServiceCollection<T>.
Método públicoDataServiceCollection<T>(IEnumerable<T>)Crea una nueva instancia de la clase DataServiceCollection<T> basándose en la ejecución de la consulta.
Método públicoDataServiceCollection<T>(DataServiceContext)Crea una nueva instancia de la clase DataServiceCollection<T> que usa el objeto DataServiceContext especificado.
Método públicoDataServiceCollection<T>(IEnumerable<T>, TrackingMode)Crea una nueva instancia de la clase DataServiceCollection<T> basándose en la ejecución de la consulta y con el modo de seguimiento especificado.
Método públicoDataServiceCollection<T>(DataServiceContext, String, Func<EntityChangedParams, Boolean>, Func<EntityCollectionChangedParams, Boolean>)Crea una nueva instancia de la clase DataServiceCollection<T> con los delegados de método de cambio proporcionados y que usa el DataServiceContext especificado.
Método públicoDataServiceCollection<T>(IEnumerable<T>, TrackingMode, String, Func<EntityChangedParams, Boolean>, Func<EntityCollectionChangedParams, Boolean>)Crea una nueva instancia de la clase DataServiceCollection<T> basándose en la ejecución de la consulta y con los delegados de método de cambio proporcionados.
Método públicoDataServiceCollection<T>(DataServiceContext, IEnumerable<T>, TrackingMode, String, Func<EntityChangedParams, Boolean>, Func<EntityCollectionChangedParams, Boolean>)Crea una nueva instancia de la clase DataServiceCollection<T> basándose en la ejecución de la consulta, con los delegados de método de cambio proporcionados y que usa el DataServiceContext proporcionado.
Arriba

  NombreDescripción
Propiedad públicaContinuationObtiene un objeto de continuación que se usa para devolver el conjunto siguiente de resultados paginados.
Propiedad públicaCount (Se hereda de Collection<T>.)
Propiedad públicaItem (Se hereda de Collection<T>.)
Propiedad protegidaItems (Se hereda de Collection<T>.)
Arriba

  NombreDescripción
Método públicoAdd (Se hereda de Collection<T>.)
Método protegidoBlockReentrancy (Se hereda de ObservableCollection<T>.)
Método protegidoCheckReentrancy (Se hereda de ObservableCollection<T>.)
Método públicoClear() (Se hereda de Collection<T>.)
Método públicoClear(Boolean)Quita todos los elementos de la colección y, opcionalmente, desasocia todos los elementos de DataServiceContext.
Método protegidoClearItems (Se hereda de ObservableCollection<T>.)
Método públicoContains (Se hereda de Collection<T>.)
Método públicoCopyTo (Se hereda de Collection<T>.)
Método públicoDetachDeshabilita el seguimiento por parte de DataServiceContext de todos los elementos de la colección.
Método públicoEquals (Se hereda de Object.)
Método protegidoFinalize (Se hereda de Object.)
Método públicoGetEnumerator (Se hereda de Collection<T>.)
Método públicoGetHashCode (Se hereda de Object.)
Método públicoGetType (Se hereda de Object.)
Método públicoIndexOf (Se hereda de Collection<T>.)
Método públicoInsert (Se hereda de Collection<T>.)
Método protegidoInsertItemAgrega un elemento especificado a la colección en el índice especificado. (Invalida ObservableCollection<T>.InsertItem(Int32, T).)
Método públicoLoad(IEnumerable<T>)Carga una colección de objetos de entidad en la colección. No compatible con el cliente de WCF Data Services 5.0 para Silverlight.
Método públicoLoad(T)Carga un único objeto de entidad en la colección. No compatible con el cliente de WCF Data Services 5.0 para Silverlight.
Método públicoLoadAsync()Carga elementos en la colección de forma asincrónica cuando representa la propiedad de navegación de una entidad. Compatible solo con el cliente de WCF Data Services 5.0 para Silverlight.
Método públicoLoadAsync(IQueryable<T>)Carga la colección de forma asincrónica ejecutando DataServiceQuery<TElement>. Compatible solo con el cliente de WCF Data Services 5.0 para Silverlight.
Método públicoLoadNextPartialSetAsyncCarga la página siguiente de datos en la colección. Compatible solo con el cliente de WCF Data Services 5.0 para Silverlight.
Método protegidoMemberwiseClone (Se hereda de Object.)
Método públicoMove (Se hereda de ObservableCollection<T>.)
Método protegidoMoveItem (Se hereda de ObservableCollection<T>.)
Método protegidoOnCollectionChanged (Se hereda de ObservableCollection<T>.)
Método protegidoOnPropertyChanged (Se hereda de ObservableCollection<T>.)
Método públicoRemove (Se hereda de Collection<T>.)
Método públicoRemoveAt (Se hereda de Collection<T>.)
Método protegidoRemoveItem (Se hereda de ObservableCollection<T>.)
Método protegidoSetItem (Se hereda de ObservableCollection<T>.)
Método públicoToString (Se hereda de Object.)
Arriba

  NombreDescripción
Evento públicoCollectionChanged (Se hereda de ObservableCollection<T>.)
Evento públicoLoadCompletedSe produce cuando se completa una operación de carga asincrónica. Compatible solo con el cliente de WCF Data Services 5.0 para Silverlight.
Evento protegidoPropertyChanged (Se hereda de ObservableCollection<T>.)
Arriba

  NombreDescripción
Implementación de interfaces explícitasMétodo privadoIList.Add (Se hereda de Collection<T>.)
Implementación de interfaces explícitasMétodo privadoIList.Contains (Se hereda de Collection<T>.)
Implementación de interfaces explícitasMétodo privadoICollection.CopyTo (Se hereda de Collection<T>.)
Implementación de interfaces explícitasMétodo privadoIEnumerable.GetEnumerator (Se hereda de Collection<T>.)
Implementación de interfaces explícitasMétodo privadoIList.IndexOf (Se hereda de Collection<T>.)
Implementación de interfaces explícitasMétodo privadoIList.Insert (Se hereda de Collection<T>.)
Implementación de interfaces explícitasPropiedad privadaIList.IsFixedSize (Se hereda de Collection<T>.)
Implementación de interfaces explícitasPropiedad privadaICollection<T>.IsReadOnly (Se hereda de Collection<T>.)
Implementación de interfaces explícitasPropiedad privadaIList.IsReadOnly (Se hereda de Collection<T>.)
Implementación de interfaces explícitasPropiedad privadaICollection.IsSynchronized (Se hereda de Collection<T>.)
Implementación de interfaces explícitasPropiedad privadaIList.Item (Se hereda de Collection<T>.)
Implementación de interfaces explícitasEvento privadoINotifyPropertyChanged.PropertyChanged (Se hereda de ObservableCollection<T>.)
Implementación de interfaces explícitasMétodo privadoIList.Remove (Se hereda de Collection<T>.)
Implementación de interfaces explícitasPropiedad privadaICollection.SyncRoot (Se hereda de Collection<T>.)
Arriba

Servicios de datos de Microsoft WCF proporciona la clase DataServiceCollection<T> para admitir el enlace de datos a controles en aplicaciones cliente. Esta clase hereda de la clase ObservableCollection<T>, que implementa la interfaz INotifyCollectionChanged y es el mecanismo de enlace de datos principal para las aplicaciones basadas en Windows Presentation Foundation (WPF) y Silverlight.

Puede cargar una colección de enlace ObservableCollection<T> usando cualquier colección que implemente la interfaz IEnumerable<T>. Los elementos cargados en la colección de enlace deben implementar la interfaz INotifyPropertyChanged. Para obtener más información, vea Enlazar datos a controles (WCF Data Services).

El ejemplo siguiente corresponde a la página de código subyacente de una página de lenguaje XAML que define la ventana SalesOrders en WPF. Cuando se carga la ventana, se crea una DataServiceCollection<T> basada en el resultado de una consulta que devuelve los clientes con objetos relacionados, filtrados por país. Este resultado se enlaza a la propiedad DataContext de StackPanel que es el control de diseño raíz para la ventana de 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();
        }
    }
}


El siguiente código XAML define la ventana SalesOrders en WPF para el ejemplo anterior.

    <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>


Cualquier miembro público static (Shared en Visual Basic) de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Adiciones de comunidad

Mostrar:
© 2015 Microsoft