in

ExpressionBlog.com

Microsoft Expression Studio Community

This Blog

Syndication

Mirrored Blogs

Browse by Tags

All Tags » Silverlight 1.0 (RSS)
  • Share Everything...

    Clearly one thing that social networking is about is exploring the limits on what you want to share and what other people might be interested in. There is, I'm sure, at least one sociology paper (and two reports to the D.A.) in this theme... Different social networking services have been more or less successful in getting folks to enter information about what they're listening to, reading, etc., but if there is one lesson after 20 years in this industry it is that people love to share, but they hate filling out forms more than 2 or three times. Ask most people who, unlike me do not have OCD, to fill in all the books they've read or all the music they've bought, and they get bored right quick. Amazon, however, is in a unique position to let you share without doing nearly that much work. All you need do is to agree to sacrifice a bit of privacy and hey! presto! instant lists and lists and lists. I've been keeping a list of books I recommend for a number of years, but it is a lot of work;   Now, with Amazon's Your Media Library I can start off with a list that Amazon keeps for me.     I can easily take a more visual view, which just cries out for a Silverlight front end, don't you think? (NB: I've chopped these images down to help them fit)   Hmmm.... the potential is pretty powerful. Even if I don't use their front end, there may well be a way to hook into their list as a web service or... a Sliverlight application.  It's way too late at night to figure this all out, but it is very intriguing, so I'm going to go dream about it and see what I can some up with. Meanwhile, if you write anything interesting that creates a Silverlight front end to this service, be sure to let us know.
  • Silverlight 1.0 for Total Novices

    I received two emails today asking that I repost my recommendations on how to get started with Silverlight 1.0. Here you go.... The best way to get started is to go to the Silverlight site and click on Get Starged From there you can click on Get Started to download the files you need. My advice would be to: Skip the Watch the Getting Started Video Download the Silverlight 1.0 runtime(s) Download the Developer tools VS 2008 Silverlight 1.1 Tools For VS 2008 (yes 1.1, even though you'll be building 1.0) ASP.NET Futures Download the designer tools Blend 2 Encoder Design (optional) Download the 1.0 SDK(s) For now, you really only need Silverlight 1.0 and can safely skip the 1.1 files, except that you will want Silverlight 1.1 Tools For VS 2008 because it includes what you need to write Silverlight 1.0 applications in Visual Studio 2008 as explained here . After downloading your files and installing them, return to Silverlight.net and click on Learn . (as shown in the image above). Then click on the 1.0 Videos. Start with the following videos: #1, #3, #57, #24, #49, #30, #34, #36 in that order . Then explore other videos, or click on QuickStarts for another perspective on getting going. Finally, as you explore further, and questions arise, please be sure to join our Forums where, to date, over 11,000 members have contributed to nearly 20,000 topics (don't panic, it is very well organized!) Best of luck, and please do let me know if I can be of further help, Jesse Liberty Silverlight Geek
  • Tip of the Day - Popfly

    Mix is fast upon us, and to be perfectly honest, I'm preparing frantically. That means that I've been behind in my Tip of the Day. Rather than closing it down, I want to take the three weeks between now and Mix and really focus on some areas of Silverlight 1.0 that I've not been paying enough attention to. We know that Silverlight 2 is just around the corner; while we've not announced its release date, we've said it will be in Q1, which means a matter of weeks. Let me assure you that will many of my Tips of the Day and blog posts will be on Silverlight 2, which after all will be new and exciting (and amazing) it will also be Beta, while SL 1 is a released product, and so will not be neglected. One of the areas that I personally have been meaning to pay more attention to is Popfly . With the attention it has been given by my publisher , I thoght this might be a good time to start. I decided to start with the Popfly videos . I watched the 30 second video and based my starter app on that. To begin, I grabbed the Twitter block and set its properties to my Twitter account. Clicking on the wrench (see arrow) opens the block for you to set its properties, I added some arrows to the image above to make pointing out the pieces a bit easier. The three black arrows point to the three properties for this block.. The first, set by a drop down, lets you decide which operation you want the block to perform (I chose getFriendsPosts). The second asks for your Twitter user name, and the third asks how many posts you want to get at a time. The blue arrow (near the top) points to a button that lets you see the actual JavaScript code that implements this Popfly control, As noted in the highlighted area, you are free to edit the Javascript directly if you can't help yourself, but Popfly is designed to work wihtout your having to write any code at all. At any time, you can click preview to see the results of your work so far; in this case, my one Popfly block running alone. When I click preview, the block goes out to Twitter, finds the account and returns my Twitter notification This isn't quite what I wanted, but that is not a problem. I click on Customize and the block comes back. Click on the wrench, the edit block comes back. I can edit the properties and I can count on tooltips to help me determine the meaning of the properties. Each small change is easy to test by clicking on preview Adding a 2nd Block When I have the block working the way I want...
  • Tip of the Day: Programming with Media in 1.0

    A user posted a comment in response to one of our videos (did you know you can do that now??) I thought others might want the answer as well.... This quick start on media may be a good next step. There are a number of How Do I videos on using media. I'd recommend starting on the Learn page , click on Silverlight 1.0 and take a look at videos # 28, 29, 30, 52 . Then return to the Learn Page again, but this time click on Expression Blend and take a look at # 6,8,10 . You might also find these three postings useful supplements. Hope that helps. -jesse [updateed 20:06 GMT 5; 2008-Feb 10 to improve image quality]
  • Free Silverlight Seminar in Dallas Texas Feb 18, 2008

    Shawn Wildermuth, theADOguy (who should really rename himself the Silverlight guy ) is giving a free seminar at the Microsoft office in Dallas on 2/18. Shawn is a very smart cool guy who knows a lot about a lot, and even more about Silverlight , so this should be a great event, and I'm told he's capping it at 32 seats so " don't say I didn't warn yer ." Pragmatic ADO.NET: Data Access for the Internet World (Microsoft .NET Development Series) by Shawn Wildermuth Read more about this title...
  • Webcast Follow-up - CreateFromXAML

    Today's Webcast focused on factoring out repeated creation of objects in XAML (and their manipulation in the code behind) by creating objects dynamically using CreateFromXaml (This will be available for viewing as soon as the recording is processed). The webcast began by showing this application , that uses animation to display changes in data over time. It then explored the problems with this approach and offered a solution as shown in this video . During the course of the webcast I mentioned a number of postings that you may want to read: A tip of the day covering CreateFromXAML Tip of the Day showing that you can retrieve the Silverlight control (plugin) using GetHost() Brief Tip of the Day pointing to information about the Silverlight control's content sub-object Introductory Video on using Silverlight with Web Services More advanced video that uses Silverlight with Web Services, AJAX and JSON Thanks again.
  • Adam Kinney's Too Great To Miss Tutorial on Making a Chart In 1.0

    Do not miss Adam Kinney's excellent tutorial on creating a bar chart in Silverlight 1.0; it is brilliant, and it is a great staring point on working with XAML, JavaScript, JSON data and many other interesting aspects of Silverlight . Also, while I have you, a quick apology; in my haste to put up today's Tip of the Day I posted a msg. that I would be late; brainlessly forgetting that said message would be sent out via RSS wasting everyone's time and bits. Won't happen again.
  • Tips of the Day: Setting properties in custom controls in 1.0

    Got a nice international email today that said in part... ...things get more interesting it is a common scenario to write custom controls....I need to specify the parameters in code behind. Can I create custom xaml tags which are connected to the code-behind? ... I mean something like... <myButton width="100" height="20" Text="Hello World" /> Is this possibly for 2.0? Assuming I understand this, it is no problem and you don't have to wait for 2.0. Fire up Visual Studio, create a new 1.0 application, clean out the XAML and the code behind and add this crude custom button: In this XAML file we create a custom button that is composed of a canvas enclosing a rectangle (the shape of the button) and a TextBlock (to hold the text of the button). Our initial settings make for a somewhat simple button, Our goal is to set some of the properties of this button from within the Javascript. This we can do. The first step is to get a reference to the Button and to its component parts, from within the JavaScript. We'll do that by using the FindName method of the content subpart of the Silverlight control that is passed as a parameter into the handleLoad event handler, fired when the Silverlight control is first loaded. In order to remember the names, I'll split the visual studio editor into two panes (a handy option) so that I can see the code and the code-behind at the same time. (There's a lot to go over in the next figure, we'll take it one piece at a time) You can see the one to one relationship between the names of the Button and its parts in the XAML and the string passed to FindName in the JavaScript (highlighted in yellow). (Remember that the first parameter passed to handleLoad, plugIn, is a reference to the Silverlight control itself. This reference can also be obtained by calling GetHost() on any Silverlight object .) Once we have a reference to all three objects, we set up an event handler for the button. In yesterday's Tip of the Day I hooked up an event handler in the XAML file, and that could have been done here, but I prefer to have the event handlers "wired up" in the code behind because that is where they are implemented, and that allows me to encapsulate the handler and its relationship to the object in one place (if I change the handler's name, for instance, I only have to update one file). Note that this code behind is using the pseudo-object oriented form of Javascript. If this...
  • Did You Know... How to create XAML objects in Javascript?

    I have had a very strong positive reaction to focusing on the Javascript in code behind for Silverlight 1.0, and so will devote not only today's Tip of the Day to a bit more on the topic, but will make sure that I do so on a frequent basis for a while. Before I start: a small house keeping measure: the convention of starting every Tip of the Day with "Did You Know" is getting old. Thus, starting with the very next one it will be replaced with Tip Of The Day: A reader (let's call this one Joe) writes, What I've had trouble understanding is a small bit of code.... Now, I have to say that the best way to get this kind of question answered is to post it to our forums ; that way a lot more people see it a lot more quickly; but since you did write to me, I'll feel free to use it as grist for the Tip of the Day mill... sender.fill = createLinearGradientBrush(sender.getHost(), sender); function createLinearGradientBrush(plugin) { var xamlFragment = '<RadialGradientBrush>'; xamlFragment += '<GradientStop Color="LimeGreen" Offset="0.0" />'; xamlFragment += '<GradientStop Color="Green" Offset="1.0" />'; xamlFragment += '</RadialGradientBrush>'; return plugin.content.createFromXaml(xamlFragment, false); } I understand 'what' it is doing and i understand 'why' it is doing it, but I don't know 'how'... I found the code to do it on a forum return plugin.content.createFromXaml(xamlFragment, false) It isn't surprising you're baffled by this code as it is pretty advanced and it starts in the middle. sender.fill = createLinearGradientBrush(sender.getHost(), sender); What can we see or guess? 1. the purpose of this line is to fill sender with a LinearGradientBrush. 2. the LinearGradientBrush will be created by the function createLinearGradientBrush. 3. The function createLinearGradientBrush takes two parameters: the getHost() method of the sender and the sender itself 4. The function crateLinearGradientBrush returns a Brush (and it better be a LinearGradientBrush or someone should be hurt) that be assigned to the sender's fill property. What is sender? It's not a big leap to assume sender is a shape. How did we get here? We assume "here" is the middle of some function, and sender was a parameter to that function. To do this right, I think we want to create a simple application that might get us to just this...