in

ExpressionBlog.com

Microsoft Expression Studio Community

This Blog

Syndication

Mirrored Blogs

Browse by Tags

All Tags » Webcast (RSS)
  • A third way to handle Templated Buttons & Images

    In yesterday’s blog post I suggested that there were two solutions to crating a templated button that used an image. One was to create a different template for each image (yuck) and the other was to create a custom temlpated button. A third, and excellent alternative was suggested to me by email by Justin Angel, and that is to set the images as Resources in Expression Blend. Then, you can add buttons to your pages, and apply the template (which will control such things as how they behavior in response to a mouse over, and you can apply the Resource as a background. Very nice. Here is how I did it to get the effect I wanted. (NB: this will all be shown in detail in a forthcoming video, and is summarized here very quickly): 1. I copied the source code from the previous project to my new project as a starting point I threw away the button templates I added four stock photos to my project and one by one added them to the design surface, and clicked on them and then selected Tools –> Make Brush Resource –> Make Brush Resource and when presented with the dialog box gave each a name, and made it an application resource… Thus I ended up with four resources, each usable as a background. 4. Next I created a single template for my button, but this time instead of making a template from scratch, a made a copy of the existing template. A little spelunking and I was able to discard the cowl that made the background hard to see, and I changed the mouse-over behavior to bounce like a silly Mac-dock entry and I modified the pressed behavior as well. 1: <vsm:VisualState x:Name= "MouseOver" > 2: <Storyboard AutoReverse= "True" RepeatBehavior= "Forever" > 3: 4: <DoubleAnimationUsingKeyFrames BeginTime= "00:00:00" 5: Storyboard.TargetName= "Background" 6: Storyboard.TargetProperty= "(UIElement.RenderTransform). 7: (TransformGroup.Children)[3].(TranslateTransform.Y)" > 8: <SplineDoubleKeyFrame KeyTime= "00:00:00" Value= "-10" /> 9: <SplineDoubleKeyFrame KeyTime= "00:00:00.3000000" Value= "0" /> 10: </DoubleAnimationUsingKeyFrames> 11: <!-- you get the idea --> 12: <Storyboard.TargetName= "CurvedBevel" 13: <Storyboard.TargetName= "Accent" 14: <Storyboard.TargetName= "contentPresenter" 15: </Storyboard> 16: </vsm:VisualState> Finally, I added a stack panel to hold the buttons and added...
  • Web Cast and Digging Deeper

    Today I had the pleasure of presenting a web cast on building an application with more than one page and passing data among those pages. I have 2 videos on this topic, so if you missed the web cast and are interested, you may find this first video on switching pages of interest, and the second video should be posted soon.   Multi-Page In A Nutshell The premise is that there is a third page that has no content and when it is time to display one of your pages, you make the page you want to display (which is, after all, a UserControl) the content of that third page (I’ve chosen to name the third page PageSwitcher but of course you may call it anything you like. PageSwitcher has a method, Navigate that takes a UserControl and makes whatever you pass in, its content.  The implementation for the button on each page is to make the page you are switching to the new content. Passing Values Because we destroy the current page when we replace it (to conserve on client-side resources) if we wish to pass information (such as the book name, authors, whether the book is published and whether or not it is fiction) the easiest way is to make PageSwitcher the temporary repository; and the most efficient way to do that is to overload the navigate method to take an Object so that you may pass in anything at all, and then fish it out when your new page is loaded (very effective, very efficient and not at all type safe!). To see this at work, assume the user has filled out the fields as shown in Page 1 and clicked switch. The event handler for the button might look a bit like this: void SwitchButton_Click( object sender, RoutedEventArgs e ) { PageSwitcher ps = this .Parent as PageSwitcher; if ( ps != null ) { Book b = new Book(); b.BookName = BookName.Text; b.Authors = Authors.Text; b.isPublished = IsPublished.IsChecked == true ; b.isFiction = Fiction.IsChecked == true ; ps.Navigate( new Page2(),b ); } We know that our “parent” is the PageSwitcher as we are its content, and so the cast is safe (but being good o-o programmers we check (Доверяй, но проверяй) We then spin up a Book instance (defined off camera and fill in the properties from the user-filled in fields and then call the overloaded Navigate method, providing a new instance of Page2 and our newly filled in book. We trust PageSwitcher to (a) abandon Page.xaml and make Page2 its content and to hold onto whatever we’ve passed it until Page2 asks for it (think Secretkeeper in Harry Potter). When Page2 is safely established...
  • Templates and Animation Webcast – Follow up

    I had the pleasure of presenting a Webcast on Templates and Animation today, and as promised, here is the answer to an open question, and the set of links that were mentioned. The videos that may be of help as background information are here Here is the  Tutorial introduction to Styles and Templates. available in HTML or pdf Here is the list of upcoming Webcasts , complete with full descriptions and an opportunity to register. Link to Karen Corby’s excellent 4 part series on the Parts & State Model (great preparation for the August 27 Webcast ) Why couldn’t we animate the Border? You will remember that I was unable to animate the border thickness in my impromptu demonstration of in-state animation. Had I looked at the documentation, I would quickly have found that the border thickness is read-only! Fortunately we were able to animate the opacity which actually gave a more satisfying effect. Source Code The complete source code for today’s web cast is available here.
  • Digging Deeper: Templates and the Visual State Manager

    There has been a number of requests for videos, tutorials and Webcasts that dive deeper. A few weeks ago I scheduled a Webcast for this Wednesday to cover  the Visual State Manager which presents a good opportunity to do so. During this Webcast I will endeavor to provide a context for skinning in general and the VSM in particular, and to provide a general introduction to the overall Parts and States Model. By the end of the hour you should have a solid understanding of what it takes to re-skin any existing control.  This will be followed by Part II, one month from now, in which we’ll focus on creating Custom Skinnable controls and at that time we’ll dive very deeply into the Parts and States model. If there are issues you are running into with the VSM, with transitions or with skinning controls, please let me know in the next couple days and I’ll try to address them in my presentation.  I look forward to seeing you there. Thanks!
  • Webcast schedule has been updated

    The Webcast schedule has been updated slightly. You can find it here . You can always find it in the sidebar as well: The key change is this September 10 Silverlight Animation and Expression Blend
  • Data Binding Webcast

    I presented a live Webcast today on Databinding and Data Templates, and a few resources were mentioned. As promised, here are links to all of them Learn Page Tutorials Videos Webcasts I have a tutorial specifically on data binding that is about to be completed, which should to be released in a few weeks, along with “How Do I” videos on the subject; I’ll post an update at that time. Thanks for joining me, and be sure to check the schedule for upcoming Webcasts.   photocredit: istockphoto, all rights reserved
  • Live From Redmond – And Responsive To You

      In response to your feedback, a couple minor changes to the schedule… 1. I will enhance the presentation on Wednesday July 9 on Data binding with the material originally scheduled for July 23 (Data Templates).  2. The presentation on Visual State Manager, Transitions and Animation will move from September 10 to Wednesday, July 23 .      Mark Your Calendar! Overall, the presentations will move up from level 200 to level 300 to better meet the needs of the working professionals who are taking time from their day to view them.   Please send follow up questions via email and I’ll address them here in my blog. Please note, after  today, all web cast updates will be marked in the sidebar under Presentations, and from there you can link to a dedicated page that will be kept fully up to date. I am also hearing that video transmission time and quality  is somewhat uneven (you do all have 20mg FIOS, right?) so I will rely more on graphics and speech that better match the medium. Remote-A-Presenter You may want to consider spending a few minutes with the live-web  software, especially the feedback control that allows you to signal “slow down” or “speed up” – I can’t see you, so that is the closest contact we can make short of heckling through Q&A! As has been noted by others, you can’t meet everyone’s needs, but I am committed to making these Webcast presentations as useful to working Silverlight programmers as possible, so keep those cards and letters coming .  Thanks.
  • Zen Presentation

    Another in a series of ruminations about how to Present Silverlight . One of the brighter Silverlight coders and MVPs asked me tonight “what is all this about your changing how you present at conferences and web casts.”  In answering him, I realized that my thinking continues to evolve, and that it might make a somewhat interesting post, so here it is[1] What I have in mind begins with refocusing on Silverlight capabilities and the application of those capabilities rather than the syntactic specifics . We do a great job drilling down in our  videos and the tutorials ,  and I don’t believe that is why people come to our presentations or Webcasts . To create a 45 or 60 minute presentation that grabs a programmer and lights up the imagination, I believe you need to start with some form of limiting discipline. The one that works for me is to grind down my idea until I can state it clearly in a single simple sentence.  The harder task is to then keep that single idea driving every aspect of the presentation. What you value is what you’ll deliver --- [1]  Almost none of this is  original and my thinking on this was most recently and positively influenced by two great presenters: Garr Reynolds and Scott Hanselman )
  • Fan Mail

    When you work in public, and you invite people to tell you what they think, they will. It often isn’t pretty, but you better listen up. My previous posting elicited an email (name withheld since it was an email and not a public comment) quoted here in full You're joking, I trust? You've been doing nothing but apologizing for crappy work since we began working with Silverlight last summer. Your job is important to the success of Silverlight. You need to be replaced with someone who's willing to spend the time required to produce quality work. NO MORE LAME EXCUSES. Clearly this is one frustrated and unhappy customer. The key question is why? What cultural or interpersonal differences in the way that I look at things would cause her to think that I’ve been apologizing for 11 months? (Setting aside the question of whether I’ve been doing “crappy work? ”) Please do not reply with how much you disagree with her… your kind words are much appreciated, but have been expressed elsewhere. The last thing I want to do is start a debate about her opinion. The point of this blog post is not about the quality of my work , it is about how to explore new ways of doing things without confusing people or making them angry Experimenting In Public I love my job. One of the things I love about it, is that it is not static. In my experience, there are two kinds of people in the world (one kind thinks there are two kinds of people in the world, the other kind doesn’t). One kind likes to get really god at what they do and keep doing it. The other kind, like me, likes to keep changing and evolving and trying new things. We love a blank sheet of paper; we are inspired by reinvention. The post this woman was responding to was about taking the risk of setting aside 15 years of relatively successful presentations and trying a new approach, one that I think will better serve the Silverlight developer, one that is far riskier, far more work, far less certain and far more exciting. Most important, an approach that is not guaranteed to work but if it does, I believe it will make me a much more interesting presenter with much more to offer. That is the proposition. Terror does not create innovation There is a culture in some parts of Microsoft; perhaps some parts of the entire industry, in which you must never show fear, never show any weakness, never show anything but total confidence. I remember this at Ziff/AT&T we would have meetings and the junior staff was terrified of asking...
  • One Man’s Guide To Silverlight Nirvana

    Every day (honest) I am asked for a path through the learning material, even though the Getting Started page offers an explicit path. And that is not surprising. We all have our own way of learning. Here is the path that I personally tend to suggest to most Silverlight neophytes. Path of quick learning: Go to Getting started and get all the links shown here Then watch the video on the same page on getting started. Once Set UP, Writing Programs Read this tutorial on interface controls. Watch [forthcoming] this video on why I made the switch to coding with Silverlight and Blend and how powerfully they work together, and then watch watch these “How Do I” videos on Blend for Programmers: Part 1 Part2 Part3 and/or read this tutorial Data Next, it’s time to focus on this video on data and then this tutorial on creating n-tier applications and data binding. Follow that with a great video on Cross Domain issues and then read up on user controls which you can supplement with this video on keyboard input followed by this video on user controls. Styles and Templates You may then want to read my tutorial and watch my videos on Styles and Templates (to be posted in the next week or two) or check out Karen Corby’s excellent 4 part series on the subject. Freestyle After all that you can pretty much move freely among the other tutorials and videos . Best of luck
  • Presentations 2.0

    Today I had the pleasure (and technical glitch frustration) of delivering the first in a new series of webcasts. I’m trying a number of new things in response to changes I’ve observed in the last few years, 1. I think the days of “here’s how you accomplish this” presentations are drawing to a close.” We’re providing much more of that through our “ How Do I ” videos and tutorials , and the documentation is getting much better, the community support is getting much better, and there is a huge library of books that come out much earlier in the life-cycle. 2. The Internet has changed presenting just as it has changed many other things, and in this case, mostly for the better. Standards are higher, and both sides of the many to many relationship have grown enormously. 3. The material is more complex and there is a much larger pool of potentially interesting material. The need for “how” is being dwarfed by the need for “why” and “what is most important” 4. People are finally fed up with Death By Powerpoint. So, I found myself doing webcasts (and to some degree presentations) that were really un-edited How Do I videos and that was not a good thing. Live TV has its amusing moments, but not when you’re the guy who just lost his place in the script when the klieg lights went out. Sitting on the beach reading PresentationZen I became reinvigorated by the possibilities, and turned my ideas about presenting, inside-out in a rush of euphoria. The idea would be to start fresh; to marry three ideas at once: * Better, More Interesting, Presentations that Tell A Story, with a focus on what and why rather than how * Present them to a virtual audience through web casts and perfect and hone them for live presentation as my understanding evolves alongside Silverlight * A series of Presentations on Programming Silverlight with Blend and Visual Studio Well… it is a work in progress. I spent a few days working on my first presentation, but after all, this is material I know cold. Then yesterday, I really got down to the business of creating the presentation and practicing and timing it. But, it was worth it. Because I practiced, when it was time to do the presentation, my software failed, the audio failed, PowerPoint failed, I couldn’t log in, one of the videos that I had tried twice successfully wouldn’t run and the images that I carefully crafted looked terrible because I forgot to adjust the color settings. If you want something good, you just have to put in the time. Rome Wasn...
  • Green Eggs and Ham Webcast Presentation

    I presented the first of a new series of live web casts today in which a number of resources were mentioned. As promised, here are links to all of them Silverlight.net Getting Started Page Learn Page Silverlight Microblog Scott Guthries’s blog entry on Expression Blend for Programmers Three videos on Blend For Programmers. One , Two , Three . Tutorial on Blend for Programmers Tutorial on Skinning and Styling Controls in Blend (to be posted soon) Register for next presentation on data binding with Blend The Traffic Light Video (silent!) Source Code For Traffic Light
  • New Live Presentation Series – Starts 6/25

    I am pleased to announce a new series, blending Conference-quality presentations delivered through Live Meeting via the Live From Redmond Series. Audience, Goal and Purpose Each presentation will provide a thorough overview of a Silverlight 2 topic with a focused  priority of explaining What is this feature and why do you care? What are the most important things you need to know? Where can you learn more? Every presentation will be paired with a blog entry containing links to videos, tutorials, and other resources to complement the material presented. The tutorials and videos will focus on how , but the Presentation will focus on What and Why. While there will be quite a bit of code shown, these are not “How Do I” presentations but rather “What do I need to know and why do I care?” presentations. Each presentations will be provided through Microsoft Webcasts in the “ Live From Redmond ” series and will be recorded for download after processing. Schedule & Registration June 25:   Controls and Events (Subtitle: Programming Silverlight 2 with Expression Blend and Visual Studio 2008). Complete description and registration .  Event ID: 1032381748 July 09: Data-binding, business objects and data sources in Silverlight. Complete description and registration .  Event ID: 1032381750 July 16 – Saruabh Pant Presents: Building Rich Internet Applications Using Microsoft Silverlight 2 July 23: Data Templates in Silverlight. Complete description and registration .  Event ID: 1032381752 August 6 Memory efficient multi-page applications in Silverlight . Complete description and registration .  Event ID: 1032381754 The dates for the next three will be settled very soon. Graphics and Transforms in Silverlight  Visual State Manager, Transitions and Animation in Silverlight Exploring Deep Zoom in Silverlight 2   Fees (none)  and Requirements (Live Meeting) Each presentation is free but you will need to register in advance.  You will also need Microsoft Live Meeting Software to view the presentation (learn more here ).
  • Beta 2 Month

    Beta 2 has been announced, and as you know from Tim’s post and Karen Corby’s , one of the big and wonderful additions to Beta 2 is a new model for skinning Silverlight controls. This is so exciting, and so important, that my plan is to make it a central (but not quite exclusive) focus for the month of June. The timing is good, because I just finished updating all the tutorials for Beta 2 (watch for them to be posted shortly after Beta 2 is available) and the one I did not update is #3 Styles and Templates. I chose not to update that one because the new model is so much better there was no point in fixing up a tutorial on typewriters when computers are about to land on your desk. The Plan During this month I’ll be releasing A new tutorial that covers Styles, Templates and the VSM in great detail How Do I videos on Styles, Templates, Visual State Manager, and tying it all together Multiple “digging deeper” blog posts and… June 18 - Round Buttons with Visual State Manager The first in my new series of Web casts unlike any I’ve tried before: much higher value, much more information, much more use of the medium. This should just be a blast. So, sign up for the June 18 WebCast and don’t forget to join SLMicroBlog to be kept up to date.
  • Coming soon - better HDI Videos

      I'm 2/3  through Daniel Park's surprisingly excellent book Camtasia 5: The Definitive Guide and have found more than enough I didn't know and am glad to have learned to justify reading it.  I've also ripped through Timothy J. Koegel's The Exceptional Presenter...   so I'm geared to improve my videos (we'll see if they actually get better!) The Exceptional Presenter: A Proven Formula to Open Up and Own the Room by Timothy J. Koegel Read more about this title... Camtasia Studio 5: The Definitive Guide (Wordware Applications Library) by Daniel Park Read more about this title...   I have two more books on this theme on the way, and I'm quite eager to see what they have to offer: Presentation Zen: Simple Ideas on Presentation Design and Delivery (Voices That Matter) by Garr Reynolds Read more about this title... Beyond Bullet Points: Using Microsoft® Office PowerPoint® 2007 to Create Presentations That Inform, Motivate, and Inspire by Cliff Atkinson Read more about this title... Who knows what nuggets these might yield   Note, I've tagged these " Videos and Presentations " on my Library site and will tag some more as soon as I wake up.  If it turns out anyone has an interest, I'll create more tags for other relevant topics. For now, the books I think are among the best are tagged " required " Thanks.
More Posts Next page »