Du kommer inte att se själva layouten av formuläret förrän du kör din ansökan. Vissa kommer att se detta som en nackdel, men du blir snabbt skicklig på att läsa kontrollträdet och förstå vilken effekt att dra runt kontrollerna.
När du kör programmet ser du också en knapp märkt Anpassa | Designskärm längst till höger på menyfliksområdet, som låter dig redigera skärmlayouten och ändra egenskaperna för kontrollerna medan programmet faktiskt körs. Detta är en rimlig kompromiss, även om en förhandsvisning av skärmen vid designtillfället skulle vara ännu bättre.
Det här sättet att lägga upp skärmar utvecklades först för Work Items-formulären i Team Foundation Server, så alla som har använt TFS bör känna till de fyrkantiga, boxiga, vanliga layouter som det uppmuntrar. Det här är ingen kritik, långt ifrån – när du producerar en affärsapplikation med Windows Forms eller Windows Presentation Foundation, kan du slösa mycket tid på att försöka få fälten att rada upp och få rutorna att passa precis.
Fält, rutnät, flikar och resten raderas automatiskt och passar i sina behållare, och om du inte vill att de ska göra det måste du säga det
LightSwitch tar bort all ansträngning. Fält, rutnät, flikar och resten raderas automatiskt och passar i sina behållare, och om du inte vill att de ska göra det måste du säga det. Alla fält får automatiskt etiketter beräknade utifrån deras namn – som du kan åsidosätta eller dölja om du vill – och fälten och etiketterna ordnar sig i snygga kolumner, automatiskt baserat på längden på den längsta i gruppen.
Saknade funktioner
Det saknas några önskvärda layoutalternativ som kanske inte inkluderas vid det slutliga releasedatumet. Det finns ingen rutakontroll för att sätta en kontur och etikett runt en uppsättning andra kontroller (en acceptabel ersättning kan vara en enda flik).
Det är också svårt att sätta en etikett på egen hand på formuläret, eftersom du bara kan ställa in texten den ska visa genom att skriva kod; att placera en statisk bild på ett formulär innebär också att skriva lite kod. Perverst, visning av bilder lagrade i databasen på ett formulär eller ett rutnät hanteras utan ansträngning direkt ur lådan, och sådana kontroller skapar till och med en uppladdningsknapp när du flyttar musen över dem under körning.
Varje rutnät vet hur man exporterar dess innehåll till Excel, en funktion som du kan stänga av om det inte är meningsfullt för ett visst rutnät i din applikation.
Det finns också en enkel att implementera tillägg som, genom tillägg av en knapp och en rad kod, importerar data från valfri Excel-arbetsbok eller CSV-fil till valfritt rutnät i din applikation: importrutinen tar till och med hand om hela fältet motsvarande.
Kolumner i din arbetsbok som har samma namn som ett fält i ditt rutnät matchas automatiskt, och användaren får möjlighet att matcha de andra – klicka på OK-knappen och alla rader i arbetsboken importeras till rutnätet på skärmen som nya rader.
Du kan sedan redigera raderna för att åtgärda eventuella valideringsfel innan du klickar på knappen Spara för att överföra data till databasen. Denna typ av kapacitet involverar vanligtvis timmar och timmar av programmering och testning, men LightSwitch-applikationer kan ha det praktiskt taget utan ansträngning.
Håll dig säker
Säkerhet är ett annat område där det mesta av arbetet har gjorts åt dig. Du kan ställa in säkerhet för att tillåta alla autentiserade användare eller endast namngivna användare att komma åt programmet, eller så kan du stänga av säkerheten helt och hållet.
Du får möjlighet att ställa in behörigheter, roller och användartabeller, plus alla skärmar som behövs för att tilldela roller till användare och behörigheter till roller. Allt du behöver göra är att definiera behörigheterna och kontrollera dem vid lämplig punkt i applikationen. Säg att du vill säkra en knapp som heter Godkänn, och sedan skriver du en rad kod i lämplig händelsehanterare:
Private Sub Approve_CanExecute(ByRef
resultat som booleskt)
resultat = Application.User.
HasPermission(“Kan godkänna”)
Avsluta Sub
Om någon av användarens roller har behörigheten ”CanApprove” kommer knappen Godkänn att vara tillgänglig för dem: om ingen av deras roller har den behörigheten kommer knappen att vara nedtonad. Detta är rätt sätt att göra säkerhet, och LightSwitch-applikationer får allt med bara ett musklick.
LightSwitch kan utökas med hjälp av anpassade kontroller, och tillägg är redan tillgängliga för att integrera med Bing Maps och SQL Server Reporting Services. Praktiskt taget alla Silverlight-kontroller kan lindas in i någon ganska enkel kod för att förvandla den till en LightSwitch-förlängning.