Návod: Vytvoření vazby ovládacích prvků Silverlight ke službě WCF Data Service
V tomto návodu vytvoří aplikace programu Silverlight, který obsahuje ovládací prvky vázané na data.Ovládací prvky jsou vázány na záznamy zákazníků prostřednictvím WCF Data Service.
Tento návod ilustruje následující úkoly:
Vytváření Entity Data Model která je vytvořena z dat v ukázkové databázi AdventureWorksLT.
Vytváření WCF Data Service poskytuje data Entity Data Model aplikace programu Silverlight.
Systémem Průvodce konfigurací zdroje dat připojení ke službě data, které naplní Zdroje dat okna.
Vytváření sady ovládací prvky vázané na data přetažením položek z Zdroje dat okno Silverlight Designer.
Vytvoření tlačítka vpřed a zpět procházení záznamů.
[!POZNÁMKA]
Na vašem počítači se můžou v následujících pokynech zobrazovat jiné názvy nebo umístění některých prvků uživatelského rozhraní Visual Studia. Tyto prvky jsou určeny edicí sady Visual Studio a použitým nastavením. Další informace najdete v tématu Přizpůsobení nastavení pro vývoj v sadě Visual Studio.
Požadavky
Chcete-li dokončit tento návod, potřebujete následující komponenty:
Visual Studio
Přístup k spuštěna instance SQL Server nebo SQL Server Express s připojeným ukázkovou databázi AdventureWorksLT.Můžete stáhnout z databáze AdventureWorksLT webu CodePlex.
Předchozí znalosti těchto pojmů je také užitečné, ale nejsou vyžadovány dokončit návod:
Datové služby WCF.Další informace naleznete v tématu WCF Data Services Overview.
Subjekt údajů modely a ADO.NET Entity Framework.Další informace naleznete v tématu Entity Framework Overview.
Práce s Silverlight Designer.
Vázání dat programu Silverlight.Další informace naleznete v Vazba dat.
Vytvoření projektu služby
Vytvoření prázdné webové aplikace projektu hostitele spustit tento návod WCF Data Service.
Chcete-li vytvořit projekt služby
V nabídce File (Soubor) přejděte na příkaz New (Nový) a klepněte na příkaz Project (Projekt).
Rozbalte Visual C# nebo jazyka Visual Basica pak vyberte WWW.
Vyberte Prázdné webové aplikace ASP šablona projektu.
V název zadejte AdventureWorksWebApp a klepněte na tlačítko OK.
Vytvoření modelu dat Entity pro službu
Vystavit do aplikace pomocí WCF Data Service, musí být definován datový model služby.V tomto návodu vytvořit Entity Data Model.
Chcete-li vytvořit datový Model entita
V nabídce Projekt klikněte na příkaz Přidat novou položku.
Vyberte ADO.NET Entity datový Model položku projektu.
Změnit název na AdventureWorksDataModel.edmxa klepněte na tlačítko Přidat.
Průvodce modelu dat Entity otevře.
Na Zvolte obsah modelu klepněte na možnost Generovat z databázea klepněte na tlačítko Další.
Na Zvolte datové připojení stránky, vyberte jednu z následujících možností:
Pokud je k dispozici v rozevíracím seznamu datové připojení k ukázkové databázi AdventureWorksLT, vyberte jej.
nebo
Klepněte na tlačítko Nové připojení a vytvořit připojení k databázi AdventureWorksLT.
Ověřte, zda Uložit nastavení připojení entity v souboru Web.Config jako je vybrána možnost a klepněte na tlačítko Další.
Na Zvolte databázové objekty stránky, rozbalte položku tabuleka potom vyberte zákazníkovi tabulky.
Klepněte na tlačítko Dokončit.
Vytváření služby
Vytvořit WCF Data Service chcete zpřístupnit data Entity Data Model.
Vytvořit službu
V nabídce Projekt klikněte na příkaz Přidat novou položku.
Vyberte Data služby WCF položku projektu.
V název zadejte AdventureWorksDataService.svc a klepněte na tlačítko Přidat.
Konfigurace služby
Nakonfigurujte službu provozovat Entity Data Model vytvořené.
Konfigurace služby
V AdventureWorksDataService.svc kód souboru, nahraďte AdventureWorksDataService třídy prohlášení s následujícím kódem:
Public Class AdventureWorksDataService Inherits DataService(Of AdventureWorksLTEntities) ' This method is called only once to initialize service-wide policies. Public Shared Sub InitializeService(ByVal config As DataServiceConfiguration) config.SetEntitySetAccessRule("*", EntitySetRights.All) config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2 End Sub End Class
public class AdventureWorksDataService : DataService<AdventureWorksLTEntities> { // This method is called only once to initialize service-wide policies. public static void InitializeService(DataServiceConfiguration config) { config.SetEntitySetAccessRule("*", EntitySetRights.All); config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2; } }
Vytvořte projekt a ověřte, že vytvoří bez chyb.
Vytvoření aplikace programu Silverlight
Vytvoření nové aplikace programu Silverlight a pak přidat zdroj dat pro přístup ke službě.
Vytvoření aplikace programu Silverlight
V Aplikaci Solution Explorer, klepněte pravým tlačítkem na uzel řešení, klepněte na tlačítko Přidata vyberte Nový projekt.
V Nový projekt dialog, rozbalte Visual C# nebo jazyka Visual Basica pak vyberte Silverlight.
Vyberte Aplikace Silverlight šablona projektu.
V název zadejte AdventureWorksSilverlightApp a klepněte na tlačítko OK.
V Nové aplikace programu Silverlight dialogové okno, klepněte na tlačítko OK.
Přidat zdroj dat do aplikace programu Silverlight
Vytvořte zdroj dat, který je založen na datech vrácený službou.
Vytvořit zdroj dat
V nabídce Data klikněte na tlačítko Zobrazit zdroje dat.
V okně Zdroje dat klikněte na tlačítko Přidat nový zdroj dat.
Otevře se Průvodce konfigurací zdroje dat.
V Vyberte typ zdroje dat stránce průvodce vyberte služby a klepněte na tlačítko Další.
V dialogovém okně Přidat odkaz na službu klikněte na položku Zjišťování.
Visual StudioProhledá aktuální řešení pro dostupné služby a přidá AdventureWorksDataService.svc do seznamu dostupných služeb v služby pole.
V oboru názvů zadejte AdventureWorksService.
V služby klepněte na tlačítko AdventureWorksDataService.svc a klepněte na tlačítko OK.
V Přidat odkaz na službu klepněte na možnost Dokončit.
Visual Studio přidá uzly, které představují data vrácená služby Zdroje dat okna.
Definování uživatelského rozhraní okna
Přidání tlačítek do okna změnou XAML v Silverlight Designer.
Chcete-li vytvořit rozložení okna
V Aplikaci Solution Explorer, poklepejte na položku MainPage.xaml.
Otevře okno Silverlight Designer.
V XAML zobrazit návrháře, přidejte následující kód mezi <Grid> značky:
<Grid.RowDefinitions> <RowDefinition Height="75" /> <RowDefinition Height="525" /> </Grid.RowDefinitions> <Button HorizontalAlignment="Left" Margin="22,20,0,24" Name="backButton" Width="75" Content="<"></Button> <Button HorizontalAlignment="Left" Margin="116,20,0,24" Name="nextButton" Width="75" Content=">"></Button>
Projekt sestavte.
Vytváření ovládací prvky vázané na Data
Vytvořit ovládací prvky zobrazující záznamy zákazníků přetažením Zákazníci uzel z Zdroje dat okna Návrhář.
Chcete-li vytvořit ovládací prvky vázané na data
V Zdroje dat okna, klepněte na rozevírací nabídku pro Zákazníci uzlu a vyberte Podrobnosti O.
Rozbalte Zákazníci uzel.
V tomto příkladu některá pole se nezobrazí, klepněte na tlačítko rozevírací nabídky u následujících uzlů a vyberte žádný:
NameStyle
PasswordHash
PasswordSalt
ROWGUID
Tím se zabrání Visual Studio z vytváření ovládacích prvků pro tyto uzly, když budou umístěny na Návrhář.Tohoto postupu se předpokládá, že koncový uživatel nechce zobrazit tato data.
Z Zdroje dat okna, přetáhněte Zákazníci uzel Návrhář pod tlačítky.
Visual Studiogeneruje XAML a kód, který vytvoří sadu ovládacích prvků, které jsou vázány na data zákazníka.
Načtení dat ze služby
Pomocí služby načítání dat a vrácených dat přiřadit zdroje dat, které je vázáno na ovládací prvky.
Načtení dat ze služby
V Návrháři klepněte do prázdné oblasti vedle tlačítka.
V Vlastnosti okna, ověřit UserControl je vybraný a klepněte na tlačítko události kartu.
Vyhledejte Loaded událostí a poklepejte na něj.
V otevřeném souboru kód (MainPage.xaml) přidejte následující using (C#) nebo Imports příkazy (Visual Basic):
Imports System.Windows.Data Imports AdventureWorksSilverlightApp.AdventureWorksService
using System.Windows.Data; using AdventureWorksSilverlightApp.AdventureWorksService;
Následující kód nahraďte obslužnou rutinu události.Ujistěte se, že nahradí localhost adresa adresa místního hostitele ve vývojovém počítači v tomto kódu:
Private advWorksService As AdventureWorksLTEntities Private customersViewSource As CollectionViewSource Private Sub UserControl_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded advWorksService = New AdventureWorksLTEntities(New Uri("https://localhost:6188/AdventureWorksDataService.svc")) customersViewSource = Me.Resources("CustomersViewSource") advWorksService.Customers.BeginExecute(Sub(result As IAsyncResult) customersViewSource.Source = advWorksService.Customers.EndExecute(result) End Sub, Nothing) End Sub
private AdventureWorksLTEntities advWorksService; private System.Windows.Data.CollectionViewSource customersViewSource; private void UserControl_Loaded(object sender, RoutedEventArgs e) { advWorksService = new AdventureWorksLTEntities(new Uri("https://localhost:54961/AdventureWorksDataService.svc")); customersViewSource = this.Resources["customersViewSource"] as System.Windows.Data.CollectionViewSource; advWorksService.Customers.BeginExecute(result => customersViewSource.Source = advWorksService.Customers.EndExecute(result), null); }
Testování aplikace
Vytvořit a spustit aplikaci ověřit, že můžete zobrazit záznamy zákazníků.
Testování aplikace
Na sestavení nabídky, klepněte na tlačítko Sestavit řešení.Ověřte, že vytvoří řešení bez chyb.
Stiskněte tlačítko F5.
Ověřte, zda že se zobrazí první záznam v tabulce Zákazníci.
Ukončete aplikaci.
[!POZNÁMKA]
Naleznete zde chybě ověřte, zda že kód ASP vývoje serveru obsahuje správný port.
Procházení záznamů
Přidat kód, který umožňuje procházení záznamů pomocí < a > tlačítka.
Povolit uživatelům procházet záznamů o prodeji
Otevřete Návrhář a poklepejte na MainPage.xaml < tlačítko.
Nahradit vytvořené backButton_Click obslužné rutiny události s následujícím kódem:
Private Sub backButton_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles backButton.Click customersViewSource.View.MoveCurrentToPrevious() If customersViewSource.View.IsCurrentBeforeFirst Then customersViewSource.View.MoveCurrentToFirst() End If End Sub
private void backButton_Click(object sender, RoutedEventArgs e) { customersViewSource.View.MoveCurrentToPrevious(); if (customersViewSource.View.IsCurrentBeforeFirst) customersViewSource.View.MoveCurrentToFirst(); }
Vrátit Návrhář a poklepejte na položku > tlačítko.
Visual StudioOtevře soubor s kódem na pozadí a vytvoří nový nextButton_Click obslužnou rutinu události.
Nahradit vytvořené nextButton_Click obslužné rutiny události s následujícím kódem:
Private Sub nextButton_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles nextButton.Click customersViewSource.View.MoveCurrentToNext() If customersViewSource.View.IsCurrentAfterLast Then customersViewSource.View.MoveCurrentToLast() End If End Sub
private void nextButton_Click(object sender, RoutedEventArgs e) { customersViewSource.View.MoveCurrentToNext(); if (customersViewSource.View.IsCurrentAfterLast) customersViewSource.View.MoveCurrentToLast(); }
Testování aplikace
Vytvoření a spuštění aplikace a ověřte, zobrazení a procházení záznamů zákazníků.
Testování aplikace
Na sestavení nabídky, klepněte na tlačítko Sestavit řešení.Ověřte, že vytvoří řešení bez chyb.
Stiskněte tlačítko F5.
Ověřte, zda že se zobrazí první záznam v tabulce Zákazníci.
Klepněte < a > tlačítka Zpět a vpřed záznamy zákazníků.
Ukončete aplikaci.
[!POZNÁMKA]
Naleznete zde chybě ověřte, zda že kód ASP vývoje serveru obsahuje správný port.
Další kroky
Po dokončení tohoto postupu, můžete provádět následující související úkoly:
Naučte se uložit změny do databáze.Další informace naleznete v Vazba dat.
Zjistěte, jak začlenit další funkce pomocí WCF Data Services v aplikací programu Silverlight.Další informace naleznete v ADO.NET Data Services (Silverlight).