Αναζητώντας έναν τρόπο να κάνω εύκολα fade-in/-out animations από τον κώδικα, έγραψα την παρακάτω συνάρτηση, την οποία έκτοτε χρησιμοποιώ σε κάθε project μου. Αυτή παίρνει ως παραμέτρους το control που θα γίνει fade, την τιμή του opacity (διαφάνειας) στην οποία θα καταλήξει το animation και το χρόνο που αυτό θα διαρκέσει. H μέθοδος επιστρέφει το Storyboard ώστε να μπορούμε να εκμεταλευτούμε τον event handler "Completed". Παράδειγμα:
Το uiElement που θα περάσει ως παράμετρος έχει Opacity διαφορετικό του 1 και θα γίνει animated σε 1 μέσα σε 0.2 δευτερόλεπτα.
private void FadeAnElement(UIElement uiElement)
{
Storyboard uiElementFadeInStory = FadingStory(uiElement, 1, 0.2);
uiElementFadeInStory.Completed += new EventHandler(uiElementFadeInStory_Completed);
uiElementFadeInStory.Begin();
}
void uiElementFadeInStory_Completed(object sender, EventArgs e)
{
// Do work
}
Αν πάλι θέλουμε απλά το animation και τίποτα άλλο γράφουμε απευθείας:
FadingStory(menu, 0, 0.2).Begin();
Η μέθοδος 
/// <summary>
/// Creates and returns a storyboard that fades an object to a given value in a given time span.
/// </summary>
/// <param name="myDepObj">The object to fade.</param>
/// <param name="toValue">The value to fade to.</param>
/// <param name="secs">The time span in seconds.</param>
/// <returns>The storyboard that fades the object.</returns>
private Storyboard FadingStory(DependencyObject myDepObj, double toValue, double secs)
{
Duration duration = new Duration(TimeSpan.FromSeconds(secs));
DoubleAnimation myDoubleAnimation = new DoubleAnimation();
myDoubleAnimation.Duration = duration;
Storyboard sb = new Storyboard();
sb.Duration = duration;
sb.Children.Add(myDoubleAnimation);
Storyboard.SetTarget(myDoubleAnimation, myDepObj);
Storyboard.SetTargetProperty(myDoubleAnimation, new PropertyPath("(UIElement.Opacity)"));
myDoubleAnimation.To = toValue;
return sb;
}
Happy coding - holidays! B-)
Πολλές φορές το application μας γεμίζει visual πράγματα, τοποθετημένα το ένα πάνω στο άλλο, σε βαθμό να χάνουμε τον έλεγχο του που είναι τι, παρ' όλη την προσπάθειά μας να τα groupάρουμε σε grids, να χρησιμοποιούμαι user controls κ.ά. Τότε είναι η στιγμή που κοιτάμε το project μας κι ενώ κάτι θα έπρεπε να γίνεται click, δεν γίνεται. Προφανώς γιατί κάτι είναι "μπροστά" του δηλαδή στο visual tree βρίσκεται χαμηλότερα απ' ότι το αντικείμενο που θέλουμε να κάνουμε κλικ. Και τότε λέμε τί καλά που θα ήταν να υπήρχε το firebug για το silverlight και με ένα inspect να δω που είναι τι;
H λύση βρίσκεται σε αυτό το link.
Hint: Ο σύνδεσμος που δίνει αυτός ο guru και λέει να μην τον ανοίξουμε, αν ο browser σας δεν μπορεί να τον τρέξει παρα μόνο σαν σελίδα, τότε κάνετε copy-paste το link στον Internet Explorer.
Enjoy!
Video tutorials βλέπω περίπου δύο χρόνια τώρα και είμαι, πρέπει να πω, μεγάλη fan.
Στα περισσότερα από αυτά, παρακολουθούμε τον guru να κάνει θαύματα προσπαθώντας
παράλληλα να εξηγήσει πώς τα κάνει και στη συνέχεια εμείς προσπαθούμε να
αναπαράγουμε αυτό που είδαμε.. αυτό το ένα glossy button που έκανε ο guru σχεδόν
και με τα ίδια χρώματα. Γιατί ναι μεν μας εξήγησε πώς να 'τραβήξουμε' το
rectangle αλλά δεν μας είπε γιατί διάλεξε αυτά τα χρώματα, αυτό το radius κι
αυτά τα ντεγκραντέ. Ωστόσο, υπάρχουν και video tutorials, πολύ λιγότερα σαφώς,
που είναι κατά τι ανώτερα. Είναι αυτά στα οποία ο guru δεν δείχνει πώς να
κάνεις ένα ωραίο κουμπί, αναφερόμενη στο παράδειγμά μου, αλλά δείχνει τη
φόρμουλα να κάνεις όσα όμορφα controls -όχι μόνο κουμπιά πια- θέλεις.
Αυτά τα video tutorials τα έχω για εγκυκλοπαίδεια. Σήμερα, λοιπόν, βρήκα μία
σειρά από τέτοια για τις αρχές του design. Είναι στο σύνολο 13 και ξεκινούν από
τα βασικότερα, όπως, η ισορροπία στο σχέδιο και φτάνουν μέχρι το σχεδιασμό
εικονιδίων, κουμπιών καθώς κι εφέ σε εικόνες. Ο σχεδιασμός γίνεται στο Expression
Design αλλά τα tools είναι τα ίδια οπότε γίνεται και στο Expression Blend. Για
κάθε βίντεο δίνονται μαζί και τα αρχεία.
Principles of Design series by Total
Training
Enjoy!!
Πριν λίγες μέρες η κοινότητα www.ColourLovers.com έγινε άμεσα συμβατή (σε επίπεδο
filetypes βλ. στη συνέχεια) με τα προϊόντα Microsoft Expression. Το www.ColourLovers.com είναι μία online
κοινότητα στην οποία κεντρική ιδέα είναι η ανταλλαγή χρωματικών συνδιασμών
(palletes) καθώς και μοτίβων (patterns). Στην εικόνα παρακάτω τα Amadeo και ale είναι
palletes ενώ τα nikkoy plaid και Falling4U (cheesy) είναι
patterns.

Ξεκινώντας με τα patterns που είναι τα πιο απλά,
μπορούμε να κατεβάσουμε το pattern σε πέντε διαφορετικές διαστάσεις (από μεσαία
μεγέθη εως μεγάλα).
Για το κάθε μοτίβο, επίσης, δίνεται και η αντίστοιχη παλέτα που περιέχει τα
χρώματα που χρησιμοποιεί.
Όσον αφορά στα palletes αν ενδιαφερόμαστε για κάποιο
από αυτά, έχουμε στη διάθεσή μας τις HEX και RGB τιμές για κάθε χρώμα της
ξεχωριστά, ενώ ολόκληρη την παλέτα μπορούμε να την κατεβάσουμε στα εξής format:
ASE, PS, AI, GIMP, HTML, ZIP (η σελίδα της παλέτας, δηλαδή τα χρώματα και τα
χαρακτηριστικά τους αναλυτικά offline).
Το ενδιαφέρον μέρος, ωστόσο, είναι ότι τους χρωματικούς συνδυασμούς μπορούμε να
τους κατεβάσουμε και στα εξής:
- Expression
Design swatches,
- WPF resource
dictionary,
-
Silverlight brushes
Το πρώτο προσθέτει τα χρώματα ως swatches στο Expression Design και το δεύτερο
είναι ένα Resource Dictionary (για WPF projects) που περιέχει τα χρώματα της
παλέτας. Το τρίτο το καλύτερο (!) δίνει τον XAML κώδικα, ώστε να προσθέσουμε
εύκολα τα χρώματα αυτά στο Silverlight project μας χρησιμοποιώντας το Expression
Blend. Αυτό γίνεται με τα εξής απλά βήματα:
- Πατάμε το κουμπί XAML που βρίσκεται δεξιά της παλέτας και αποθηκεύουμε το αρχείο
τύπου txt που δίνεται.
- Κάνουμε copy τις ετικέτες <SolidColorBrush /> που δίνονται κι όπως μας
λέει και το σχόλιο, τις επικολλούμε στο αρχείο App.xaml μέσα στο tag
<Application.Resources />.
- Τώρα είμαστε έτοιμοι να αξιοποιήσουμε την παλέτα στο project μας, αφού όλα της
τα χρώματα βρίσκονται πολύ ωραία και τακτικά στα resources μας. Συγκεκριμένα για
να τα ανακτήσουμε από το γραφικό περιβάλλον του Expression Blend, όσο έχουμε
επιλεγμένη το tab Design επιλέγουμε στο δεξί panel το tab Resources.
Εκεί εμφανίζονται όλα τα χρώματα που προσθέσαμε και μπορούμε να τα
παραμετροποιήσουμε επιτόπου. Για ευκολότερη χρήση των χρωμάτων-resources, το
Expression Blend εμφανίζει όλα τα αυτά τα χρώματα στο box Brushes (tab
Properties), το οποίο εμφανίζεται όποτε σχεδιάζουμε ένα αντικείμενο.

Κάτι άλλο ενδιαφέρον που υπάρχει στο
ColourLovers.com είναι που δημοσιεύει ιστοσελίδες και έντυπο υλικό στο οποίο
χρησιμοποιήθηκε παλέτα από το site. Παράλληλα με το project εμφανίζεται και η
αντίστοιχη παλέττα. Τέλος, οι δημιουργοί της κοινότητας εξέδωσαν κι ένα
walk-through/ tutorial/ FAQ για το δημιούργημά τους το οποίο μπορείτε να βρείτε
εδώ.
Enjoy !
ps. Ένας ταπεινός προκάτοχος, που προσωπικά εμπιστεύομαι αρκετό καιρό τώρα και
αισθανόμουν την ανάγκη να αναφέρω: kuler.adobe.com
Ένας νέος διαγωνισμός γύρω από το Silverlight ανακοινώθηκε αυτό το μήνα. Σ' αυτόν γράφουμε μία εφαρμογή, ένα control, ή ό,τι άλλο έχει να κάνει με το Silverlight 2, και καταθέτουμε ένα κείμενο γύρω απ' το δημιούργημά μας καθώς και τον κώδικα του (υπάρχει μνεία για τα πνευματικά δικαιώματα).

Τα έπαθλα είναι άδειες χρήσεις για controls από τις Telerik και ComponentOne. Ενδιαφέρον είναι επίσης ότι μπορούμε να συμμετέχουμε όσες φορές θέλουμε.
Περισσότερα για τον διαγωνισμό και τα έπαθλα εδώ.
Καλή τύχη!!
Όπως θα διαβάσατε στο forum μας το StudentGuru.gr συνεργάζεται με την Xelixis.net και παρέχει 100% δωρέαν hosting σε φοιτητές με τις εξής δυνατότητες:
Χαρακτηριστικά Πλάνου Φιλοξενίας
Αυτές μέρες τελειώνω μια ιστοσελίδα και έψαξα να δω αν μπορώ να την ανεβάσω στο Xelixis καθώς έχει βάση δεδομένων, είναι σε .NET Framework 3.5, περιέχει Silverlight εφαρμογή και WCF Services. Έμεινα πλήρως ικανοποιημένη από το Xelixis, όμως για εξοικονόμηση χρόνου για όποιον άλλο το επιχειρήσει παραθέτω τα FAQ (Frequently Asked Questions) ξεκινώντας με τα δικά μου.
Υποστηρίζει .ΝΕΤ Framework 3.0 και 3.5;
Ναι, παρ όλο που στο welcome e-mail με τα στοιχεία και τις δυνατότες του λογαριασμού μας αναγράφονται μόνο τα .ΝΕΤ 1.0 και 2.
Υποστηρίζει Silverlight;
O server που τοποθετουμε τη Silverlight εφαρμογη μας δεν χρειάζεται να έχει καμία ειδική ρύθμιση για να το σερβίρει σωστά ;-P παρα μόνο την ιστοσελίδα που το περιέχει και το ".xap" αρχείο.
Υποστηρίζει WCF services;
ή γιατί όταν πληκτρολογώ τη διευθυνση του service μου (πχ. nosuic.xelixis.net/myservice.svc) μου βγάζει error;
Το error είναι το εξής: This collection already contains an address with scheme http. There can be at most one address per scheme in this collection. Parameter name: item και λύνεται προσθέτωντας στο web.config αρχείο μας μεσα στο <system.servicemode> tag το εξής:
<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<add prefix=”http://myNickname.xelixis.net”/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
Περισσότερα μπορείτε να βρείτε εδώ όπως επίσης και την αντίστοιχη λύση αν το site είναι υλοποιημένο σε .ΝΕΤ 3.0.
Σημ.: Μετα απ' αυτή την προσθήκη το project δεν γίνεται build στον Η/Υ που το αναπτύσσουμε. Μπορείτε να προσθέσετε άλλο ένα prefix filter με τη διεύθυνση στην οποία κάνετε build το project πχ.
<add prefix=”http://localhost:12345/”/> <!-- opou 12345 to port pou shkwnei to visual studio to site mas :)-->
και να κάνετε comment-out κάθε φορά το prefix filter που δεν χρειάζεστε.
Πώς ενεργοποιώ και χρησιμοποιώ το FTP account μου;
Στο panel.xelixis.net κάνουμε κλικ στα εξής:
Free .Net Hosting > FTP Accounts > Create FTP Account
Αφού δημιουργήσουμε τον λογαριασμό μας χρησιμοιπώντας έναν FTP Client πχ Filezilla συνδεόμαστε με τα εξής στοιχεία:
Host: 85.17.35.70,
Username/Password τα αντίσοιχα του χρήστη που δημιουργήσαμε παραπάνω,
Port: 21
Τέλος, ανεβάζω τα αρχεία της σελίδας μου στον φάκελο που βρίσκω να υπάρχει ήδη το default.aspx.
Περισσότερα για το πώς κάνουμε upload ένα site στο Xelixis μπορείτε να βρείτε εδώ.
Πώς δημιουργώ τη βάση δεδομένων μου;
Το site πρέπει να συνδέεται με τη βάση (το connection string δηλαδή) χρησιμοποιώντας username και password -όχι με windows authentication.
Πηγαίνουμε στο panel.xelixis.net και κάνουμε κλικ στα εξής:
Free .Net Hosting > Databases > SQL Server 2005 > Create Database για να δημιουργήσουμε τη βάση μας και
Free .Net Hosting > Databases > SQL Server 2005 > Create User τσεκάρωντας το checkbox με το όνομα της βάσης μας για να δημιουργήσουμε τον χρήστη με τον οποίο το connection string θα μας συνδέει με τη βάση μας.
Έπειτα παράγουμε τα scripts που θα δημιουργήσουν τους αντίστοιχους πίνακες και τις αντίστοιχες συσχετίσεις στη βάση μας στο Xelixis.
Στο Μanagement Studio 2005 (αυτό το tool χρησιμοποιήθηκε εδώ, πιθανότατα τα παρακάτω να γίνονται και με άλλα αντίστοιχα για server management) παμε:
Δεξί κλικ στη βάση που θέλουμε να ανεβάσουμε > Generate scripts > Wizard.
Στο wizard διαλέγουμε τη βάση μας κάνουμε τις ρυθμίσεις μας διαλέγουμε Τables στο Choose Object Types έπειτα τους πίνακες που θέλουμε και τέλος Script to New Query Window.
Έπειτα πάμε File > Connect Object Explorer και συνδεόμαστε με τα εξής στοιχεία:
Server Name: 85.17.230.160\SQLEXPRESS
Authentication: SQL Server Authentication
Username/Password: τα αντίστοιχα credentials του user που έχετε δημιουργήσει παραπάνω.
Έπειτα, στον server που ανοίξαμε, πάμε Databases και βρίσκουμε αυτή που δημιουργήσαμε προηγουμένως από το Panel του Xelixis.
Ανοίγουμε New Query Window κι έχοντας επιλέξει από το Drop-Down list πάνω αριστερά τη βάση μας, εκτελούμε το query που δημιουργήσαμε παραπάνω. Αυτό θα δημιουργήσει τους πίνακες, τα κλειδιά και τις συσχετισεις ανάμεσα σ' αυτούς.
Τέλος, διορθώνουμε τα connection string μας να έχουν την εξής μορφή:
Data Source=85.17.230.160\SQLEXPRESS;Initial Catalog=myDatabase;User ID=myUser;Password=myPwd
Όποιαδήποτε άλλη απορία γράφετε σχόλιο εδώ ή ρωτήστε τον πάντα πρόθυμο StudentGuru στο forum του.
Enjoy free hosting!
Πριν μερικές μέρες κυκλοφόρησε το Silverlight Toolkit November '08 για την τελική έκδοση του Silverlight 2. Πρόκειται για ένα πακέτο που περιλαμβάνει όλα τα controls που γνωρίζουμε από τo WPF και θα θέλαμε να έχει το Silverlight, αλλά δεν έχει. Επιγραμματικά περιλαμβάνει:
| TreeView |
DockPanel |
| WrapPanel |
Label |
| HeaderedContentControl |
HeaderedItemsControl |
| AutoCompleteBox |
ButtonSpinner |
| Charting |
Expander |
| ImplicitStyleManager |
NumericUpDown |
| Spinner |
UpdownBase |
| Viewbox |
|

Για την άμεση αξιοποίηση του Toolkit, το συνοδεύουν samples, walkthrough καθώς και documentation για όλα τα controls. Τα δύο πρώτα βρίσκονται στην παράγραφο Get Started στην σελίδα του Toolkit, ενώ το documentation είναι οffline και το κατεβάζουμε μαζί με τα controls. Στις δύο εκδόσεις προς download η πρώτη έχει τα απαραίτητα (binaries, samples, documentation) ενώ η δεύτερη, εκτός απ' τα προηγούμενα, έχει το source code από όλα τα controls.
Μία ολοκληρωμένη λύση από το Codeplex για τους Silverlight developers με αγάπη!
happy dev!
Ένας νέος διαγωνισμός (με το 60-40 στην πλευρά του design αυτή τη φορά) που έχει να κάνει με τα Silverlight, WPF, Expression Studio καθώς και τα Live Services ξεκίνησε από τη Microsoft. Σκοπός του διαγωνισμού είναι οι συμμετέχοντες να μάθουν και να εκφράσουν τη δημιουργηκότητά τους με τις παραπάνω τεχνολογίες. Ο online διαγωνισμός (που ενδιαφέρει τους εκτός US) αποτελείται από συνολικά 4 challenges και τώρα βρίσκεται σε εξέλιξη το πρώτο με τίτλο: "Global Electronics needs your help turning their outdated and drab games into traffic driving masterpieces!".

Διαβάζοντας το blog ενός από τους δημιουργούς του διαγωνισμού μπορούμε να καταλάβουμε σε μερικές γραμμές περι τίνος πρόκειται:
"We are providing a couple sample games you can customize with you own
visual design elements. Deisgn new characters and settings, add sound
or extend the game. You will also find 12 videos from AQUENT that
will help you learn more about Expression and Silverlight and how to
modify these games. If you need more training check out Total Training’s series on Expression Studio 2 tools. Participating in the PhizzPop Online Challenge
is a great way to learn how to use Expression. If you are a designer,
partner with a developer and customize and extend the game. If you are
a developer, partner with a designer and work together to enhance those
games."
Όσοι πιστοί, feel free to join http://www.phizzpop.com/main/HomeOnline.aspx
hf! 
Πρόσφατα χρειάστηκε να κάνω parse ένα αντικείμενο ορισμένο σε XAML και στη συνέχεια να το χρησιμοποιήσω στον κώδικά μου. Αυτό γίνεται εύκολα με την μέθοδο Load του XamlReader (namespace: System.Windows.Markup). Αυτό που χρειάζεται προσοχή μόνο είναι να αντικαταστήσουμε τα " με \" φυσικά και να μην ξεχάσουμε να προσθέσουμε μέσα στην ετικέτα τα namespaces που χρησιμοποιούμε. Πχ. για μια εικόνα που χρησιμοποιεί τα namespaces που υπάρχουν σε κάθε Silverlight application by default θα γράψουμε:

Σε μια γραμμή είναι κάπως έτσι:
Image myImage = (Image)XamlReader.Load("<Image xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\" x:Name=\"Pic1\" Source=\"Images/pic1.png\" Margin=\"10\" />");
Αν δεν είχε όνομα η εικόνα μας τότε θα μπορούσαμε να παραλείψουμε τον ορισμό του namespace 'x':
Image myImage = (Image)XamlReader.Load("<Image xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" Source=\"Images/pic1.png\" Margin=\"10\" />");
Παρόμοια αν χρησιμοποιούσαμε κάποιο άλλo (πχ. vsm, που χρησιμοποιεί το Blend για τον Visual State Manager) η κάποιο δικό μας (πχ. CustomSlider) θα έπρεπε να υπάρχει ορισμένο μέσα στην ετικέτα μαζί μετα υπόλοιπα properties. Το βασικό namespace πάντως, χρειάζεται σε κάθε περίπτωση για να αναγνωρίσει ο XamlReader το αντικείμενό μας.
happy dev :)
Σήμερα χρησιμοποιούσα ένα Slider control και χρειάστηκα δύο events που σύμφωνα με το Intellisense υποστήριζε- τα MouseLeftButtonDown και MouseLeftButtonUp. Τα χρησιμοποίησα, δεν υπήρχε κανένα compile-time ούτε run-time error αλλά δεν έπαιξαν ποτέ. Μετά από αρκετή ώρα ψάχνοντας διάβασα ότι αυτά τα events έχαιραν υποστήριξης στην Βeta 1 έκδοση, αλλά όχι στη Βeta 2 και τις επόμενες. Τελικά έφτιαξα ένα custom Slider control που απλά έχει δύο παραπάνω events τα ThumbDragStarted και ThumbDragCompleted, τα οποία ουσιαστικά εξυπηρετούν εκεί που στην Βeta 1 εξυπηρετούσαν τα MouseLeftButtonDown/Up.
Το project που περιέχει το CustomSlider control και μια στοιχειώδη χρήση του βρίσκεται εδώ.
Πώς το προσαρμόζω στο project μου;
1. Στο Silverlight project που ενδιαφερόμαστε να το χρησημοποιήσουμε κάνουμε δεξί click και Add > New Existing Item.

2. Στο παράθυρο που εμφανίζεται διαλέγουμε τόσο το CustomSlider.xaml όσο και το CustomSlider.xaml.cs.

3. Διαλέγουμε στον Solution Explorer το CustomSlider.xaml και πάμε στα Properties και στο Copy to Output Directory διαλέγουμε Copy always.
4. Έπειτα για να 'δει' το project μας το control προσθέτουμε ένα επιπλέον xml namespace όπως στην παρακάτω εικόνα. Όπου SLApp ο τίτλος του project μας.
5. Τέλος χρησιμοποιώντας την αναφορά στο local μπορούμε να το προσθέσουμε στον xaml κώδικα μας. Τα νέα events εμφανίζονται κανονικά.

Για να χρησιμοποιήσουμε το control αυτό από C# προσθέτουμε using SliderEvents; Εξάλλου, αν πληκτρολογήσουμε CustomSlider θα μας το θυμίσει το Visual Studio ;-P
Happy development! 8-)
Ps. Thanks to Aaadi.
H Microsoft ανακοίνωσε ότι την Δευτέρα στις 13 του Οκτώβρη στις 9.00 AM (PDT) ο Scott Guthrie θα κάνει μία σημαντική ανακοίνωση γύρω από το Silverlight 2. Μμμ τι να είναι αυτό άραγε όταν πριν περίπου μία εβδομάδα κυκλοφόρησε η έκδοση RC0 και όλοι πια περιμένουν την τελική.
Σ΄ την RC0 έχουν προστεθεί καινούργια controls και πια δεν λείπει κανένα βασικό control από την γκάμα που προσφέρει το Silverlight 2. Τελευταία προστέθηκαν τα ComboBox (γνωστα και ως drop-down list) και το Progress bar, για τα οποία δημοσίευσε ένα πολύ ωραίο tutorial o Scott Gurthrie στο blog του.
Με την κυκλοφορία της εν λόγω έκδοσης κυκλοφόρησε και το αντίστοιχο documentation- η msdn Library δηλαδή του Silverlight 2 και μπορείτε να την κατεβάσετε από εδώ.
happy development :)
Σήμερα βρήκα ένα Silverlight project το οποίο ανοίγει Flash player και παίζει video από YouTube. Πραγματικά ενδιαφέρον δεδομένου ότι προς το παρόν μόνο η επέκταση .wmv μπορεί να αναπαραχθεί σε Silverlight application, καθώς και μετά την ανακοίνωση ότι για .flv (Flash video) δεν πρόκειται να υπάρξει ούτε στο μέλλον υποστήριξη.
Το δημιούργημα αυτό ανήκει στον Jason Grunstra, το κατεβάζετε από εδώ, ενώ στο blog του εξήγει το source code. Στο ενδιάμεσο αναβαθμίστηκε η έκδοση του Silverlight, οπότε για να τρέξει το project κάνετε τα εξής:
- Στη σελίδα PlayerTestPage.aspx αντικαταστήστε το Version="2.0" με αυτό MinimumVersion="2.0.30523" .
- Στη σελίδα PlayerTestPage.html διορθώστε αυτό "application/x-silverlight-2-b1" με "application/x-silverlight-2-b2"
Τέλος σιγουρευτείτε ότι η σελίδα PlayerTestPage.aspx είναι η Start Page.
Enjoy!
Tο Σάββατο, που μας πέρασε, έγινε το 8ο StudentGuru event (να τα 100στήσουμε!) και είχα την τύχη να πάρω μέρος σ' αυτό με μία δύωρη παρουσίαση του Silverlight! Αφού είπαμε μερικά λόγια για την τεχνολογία (γενικές πληροφορίες, δυνατότητες, γιατί να το επιλέξουμε κτλ.) ξεκινήσαμε να υλοποιούμε μία rich internet application(RIA) από την αρχή. Αναπτύξαμε το project τόσο απ την ματιά του designer όσο και απ του developer με τα Expression Blend και Visual Studio αντίστοιχα χτίζοντας step by step την RIA μας. Έτσι, δόθηκε η ευκαιρία να δούμε πολλά ωραία και καινοτόμα features που προσφέρει το Silverlight και πόσο εύκολα αυτά εφαρμόζονται. Κάνοντας λοιπόν μία ανασκόπηση έχουμε:
ToolsSilverlight 2 tools for Visual Studio 2008Expression Blend 2.5 March 2008 PreviewResourcesSilverlight 2 Documentation :: Το.. msdn library του Silverlight
www.silverlight.net :: Ενημέρωση, tutorials και για άλυτα προβλήματα πολύ καλό forum!
Το RIA που αναπτύξαμε στην παρουσίαση ήταν μία εφαρμογή για τους
Belle and Sebastian (μουσικό συγκρότημα) η οποία περιείχε τη βιογραφία τους, photo-gallery και media(audio και video). Την
εφαρμογή μπορείτε να την δείτε
εδώ και το
solution της να το κατεβάσετε από
εδώ. Στην παρουσίαση το βίντεο που χρησιμοποιήσαμε στο
videoWall το είχαμε μέσα στο project μας για να μην εξαρτώμαστε από το internet. Αυτό βέβαια έχει σαν αποτέλεσμα η εφαρμογή μας να είναι πολύ μεγάλη κι αφού είχε γίνει και σχετική ερώτηση στην παρουσίαση, στην εφαρμογή που δίνεται παραπάνω, τα videos που χρησιμοποιούνται τα βλέπουμε με streaming.
Γι αυτό, στη σελίδα
media θέλει 2-3 λεπτά (με 1024 σύνδεση) για να εμφανιστεί το
videoWall.
Για να δείτε το solution, θα πρότεινα αρχικά (1)να το ανοίξετε από Blend, (2)να δείτε πώς ονομάζονται τα αντικείμενα που σας ενδιαφέρουν (πχ τα κουμπιά στο μενού), μετά (3)με το όνομα να βρείτε το tag τους στo
Page.xaml, απο εκεί (4)να δείτε το κάθε ένα ποιους event handlers(πχ. MouseEnter, MouseLeftButtonDown etc.) καλεί κι από εκεί (5)να πάτε στο
Page.xaml.cs αρχείο(δεξί κλικ πάνω στον eventHander > Navigate to Event Handler-στο Page.xaml στο Visual Studio).
Ευχαριστώ πολύ!

Φωτεινή
Μετά από 2 χρόνια των προϊόντων Microsoft Expression (Web, Blend, Design, Media, Encoder) στην αγορά εγκαινιάστηκε ένα site για όσους ασχολούνται ή θα ήθελαν να ασχοληθούν με αυτά. Το expression community site [expression.microsoft.com] έχει πολλά δυνατά σημεία όπως τα team blogs των προϊόντων Expression και τα fora ένα για κάθε προϊόν. Το tab Learn, επίσης, περιέχει από white papers μέχρι video tutorials και webcasts όλα πάντα κατηγοριοποιημένα ανά προϊόν. Στη χρήση είναι πολύ ευχάριστο και λειτουργικό.. bookmarked ;)
Σήμερα, πρώτη μέρα του MIX '08, κυκλοφόρησε το Silverlight 2 σε beta. Ναι, καιρός ήταν, είναι αλήθεια, αφού το Silverlight, πια, έχει τραβήξει την προσοχή και ήρθε η ώρα να πείσει με τις ικανότητές του. Το gap μεταξύ Silverlight 1 και 2 τεράστιο..ενδεικτικά:
1. Το UI εμπλουτίζεται με πάρα πολλά controls (Slider, ScrollViewer, Calendar, DatePicker, etc), καθώς και controls για διαχείριση δεδομένων (DataGrid, ListBox, etc)
2. Δυνατότητα δημιουργίας και χρήσης styles και templates, τα οποία μέχρι πρόσφατα ήταν πολυτέλεια μόνο των WPF εφαρμογών..
3. Στις εφαρμογές μας μπορούμε να καλούμε απευθείας services όπως τα RSS, WS*/SOAP. Υποστηρίζει επίσης, cross-domain access ώστε να μπορούμε από την εφαρμογή μας να καλούμε δεδομένα απευθείας από άλλους servers.
4. Στην βασική του βιβλιοθήκη περιλαμβάνονται τώρα οι ΙΟ, Generics, XML, LINQ κ.ά.
Την κυκλοφορία του Silverlight 2 σονόδευσε το Expression Blend με την έκδοση 2.5 March Preview ώστε να αναπτύσουμε χωρίς προβλήματα τις Silverlight 2 εφαρμογές μας :)
Installation
Το Silverlight 2 χρησιμοποιεί το .NET Framework 3.5 και μπορούμε να το προμηθευτούμε στο ίδιο πακέτο με τα tools για το Visual Studio 2008 από εδώ. Για να το εγκαταστήσουμε πρέπει να αφαιρέσουμε από τον υπολογιστή μας ό,τι έχει τη λέξη Silverlight (runtime, SDK, tools). Η εγκατάσταση παίρνει το χρόνο της.. 5-10'.
Το Expression Blend 2.5 March Preview το κατεβάζουμε από εδώ, τρέχουμε το msi αρχείο, next next ... finish
, ούτε restart ούτε τίποτα.
First Use
Δημιουργούμε νέο project είτε από Visual Studio 2008 είτε από Expression Blend 2.5 επιλέγοντας Framework 3.5 και Silverlight 2 application. Στο solution μας, δεν υπάρχει πια .js αρχείο και το <Button/> αναγνωρίζεται κανονικά 
Το Silverlight 2 μέσα από τα Visual Studio 2008 και Blend 2.5 θα παρουσιαστεί αναλυτικά στο προσεχές Student Guru event "Silverlight" οπότε αν διαβάσατε μέχρι εδώ, μην το χάσετε! :)
More Posts
Next page »