www.archive-ch-2013.com » CH » G » GALASOFT

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".

    Archived pages: 105 . Archive date: 2013-11.

  • Title: GalaSoft Laurent Bugnion
    Descriptive info: .. Blog.. /.. Programming.. About.. Welcome to GalaSoft!!.. For more information about my work, my projects and things that keep me busy, check my blog at.. http://blog.. galasoft.. ch.. For information and to download the MVVM Light Toolkit, visit the.. Get Started page.. It seems it was only yesterday that I was writing about starting my 4.. th.. year.. at IdentityMine.. , and here we are now, more than a year later.. The year 2012 has been particularly interesting for all of us in the tech space, and particularly for us who are observing the Microsoft brand.. Now, those of you who know me also know that I am an undying optimist (something that is sometimes mistaken for fanboism), so I will make a big effort in adding a dose of realism into this billet.. Nonetheless I think we can all agree that this year was a year seeing Microsoft react, with more or less success, in a few areas where it had been sleeping (and slipping, ha ha) for a few years, notably the slate and the phone markets.. We can argue endlessly to know if these ventures will be successful or not, but honestly I don’t have (a) the time and (b) the interest to do so.. Bottom line is, no one knows for sure what will happen next year (and the next and the next).. Let’s rather discuss what happened.. Silverlight.. 2012 is probably the year where Silverlight, as a brand, was the least talked about in the tech circles.. Interestingly though, we still see a lot of Silverlight (for the desktop) projects going on.. It’s clear that some opted out of it following the PR fiasco but it is also clear that there isn’t a really satisfying alternative to build a certain type of applications.. I am still a strong believer that the promises held by Silverlight are valid and (for the most part) fulfilled.. And if it transitioned from being actively developed to being merely supported (for another many years, more in fact than for most technologies available today), it was not because of technical reasons but clearly because of a political fiasco at the management level.. Interestingly, too, the main actor of this fiasco now left Microsoft (as we will discuss later), but not without having inflicted a lot of damage.. Because of these actions, many good people left (sometimes with a bitter feeling, as is proven by some very disillusioned messages in social media), others moved out from their previous role to another within the company (where at least they continue to do good work for our benefit, so kudos), and of course Silverlight changed its course.. On the positive side however, 2012 has also been the year where XAML has confirmed its role as a leading UI technology, and this on multiple platforms.. If we have XAML on the XBOX (see below) and on phones, it is clearly because Silverlight for the desktop paved the way, having created a portable, lightweight and elegant environment.. The tools too (notably my personal favorite Blend) and the patterns (notably MVVM) are proving themselves to be available for all the supported platforms.. Even though XAML is not completely stable yet, and some differences remain between these platforms, the fact remains that a large portion of a developer’s skills are portable and allow us to get started very fast on any XAML-based platform.. The reason why we were able to develop a large number of Windows 8 apps in a short period of time is because of XAML and of the patterns and tools.. Our learning curve (given that we were already experts in XAML) was super short.. And the result speaks for itself, as some of the best rated apps in the Windows Store today have been developed by IdentityMine.. Being a Silverlight MVP.. 2013 is my 7.. year as an MVP and my 5.. year as a Silverlight MVP.. That might seem a bit weird, and I have been hoping to see the creation of an expertise dedicated to XAML frameworks in general.. In my experience, it is very rare that a XAML developer limits himself to just one platform.. Nowadays, people who develop for Silverlight often develop for WPF too, people who develop for Windows Phone often develop for Windows 8 too, etc.. However creating a new MVP expertise is not that easy, there are many considerations.. In the meantime, Silverlight MVPs are strongly encouraged to contribute to community efforts (blogging, developing, teaching, speaking) on all XAML frameworks.. So really, even if the title is “Silverlight MVP”, we are all “XAML MVPs” already J.. Of course I am honored to get the MVP award once more, but I hope it is clear that everything I do, I do it for its own reward.. Speaking at conferences, writing articles on my blog and in magazines, this is a huge pleasure in itself.. And developing MVVM Light gives me the pleasure of knowing that this code is used by thousands of developers worldwide, and that it powers some of the most popular apps in Windows Store, Windows Phone store, XBOX and other platforms.. I often said that MIX06 and the presentation of XAML changed my life, so thank you to everyone who makes it possible!.. Windows Presentation Foundation.. We see a continued (and even increasing) interest in WPF-powered applications for Windows desktop.. That’s not really a huge surprise, considering that WPF is still the best technology to build desktop applications, also for Windows 8.. Of course these application won’t run on WinRT devices (such as Surface RT).. But WinRT apps are not intended as a replacement for full blown desktop apps anyway.. Following the Metro guidelines (yeah I said Metro, sue me), WinRT apps should concentrate on fulfilling just a few tasks, while a desktop app rather delivers a complete suite of features.. I have always seen WinRT apps as a kind of.. companion.. to desktop application, with which they may even share some code (thanks to C#, XAML and MVVM), but I don’t think many are going to abandon the development of their desktop client to replace it with a WinRT app.. Instead, the WinRT apps are, in most cases, going to be developed side by side with more traditional applications.. 2012 has confirmed this opinion, and we see a lot of projects started in WPF these days.. The uncertainties around Silverlight’s fate probably played a role too, as well as the new improvements in.. NET4.. 5 (such as the introduction of async/await), and the interaction with hardware (such as Kinect, to name just one).. Of course this makes us very happy, seeing as we love WPF and have a huge experience with this technology.. XBOX.. The development of a new breed of apps on the XBOX platform has also kept us very busy this year.. Because it’s still a private SDK, only a few firms have been invited to develop for this platform, and we have kept rather silent on which apps we  ...   of most previous such conferences.. I really thought I would see them gloat and repeat how wonderful IE is, and how HTML is the savior of civilization.. I told Scott that I was wondering if that was the beginning of the end for Steven, and that I was not sure the board would ever select him as CEO, given that he is not a team player.. A few days later, the news came: Sinofsky.. was fired from.. left Microsoft (to this day it is not quite clear what exactly happened.. Personally, I think he was thank-you-very-much’ed by Steve Ballmer and then told he couldn’t continue to divide Microsoft like he had been doing until now.. The official announcement, of course, talks about mutual understanding.. I am both happy and worried to see Sinofsky go.. Worried because, like or dislike him, he was an efficient project manager in his division, a capable engineer, and he showed himself able to take an bad product (Vista) and turn it into something pretty awesome (Windows 7).. But I am also happy to see him leave, because I think he has caused a lot of damage within Microsoft.. He has consistently undermined the efforts of the Developer Division to promote.. NET and of course caused the change of strategy around Silverlight, because he felt it was threatening Windows.. At this point in time, however, with all the talk of cross platform, with technology spanning between devices, what Microsoft needs is a unifier, not a divider.. Someone who is able to make the divisions work together.. Sinofsky was definitely not this person, and now he is gone.. HTML and the reality.. The last thing that was apparent in 2012 is the reality check that HTML5 developers had to face.. In 2010 and 2011, HTML5 was sold to client application developers as the panacea, the cure to all the issues that one could face.. Of course experienced developers have been promised the famous “write once run everywhere” many times before, and have been disappointed every time.. One big difference this time was that, for political reasons, Microsoft also pushed HTML as being a way to share code between the web and Windows 8.. Unfortunately it is not that simple.. HTML and JavaScript alone won’t cut it, you need some frameworks to assist you, like every web developer knows.. For most, it is jQuery.. But if you use jQuery, you don’t have integration with the Windows 8 features.. Microsoft also came up with a framework named WinJS, but if you use that, you cannot share that code with the web, and thus you lose the advantage.. So you have to put up with the inconveniences of JavaScript (weak typing, bad tooling) to gain… well not much really.. In fact, in terms of cross-platform coding (at least on Microsoft devices), we can argue that XAML/C# is better, since you can share a good portion of code between Windows Phone and Windows 8 apps, for instance (and even with Silverlight or WPF applications).. This requires discipline and some experience but it can be done.. Windows Phone 8 doesn’t support HTML/JS for native application development.. Two interesting cases were brought to my attention in 2012:.. The first one was of course Facebook.. Mark Zuckerberg was quoted saying that.. betting on HTML5 was Facebook’s biggest mistake.. , and scrapped their HTML-based mobile application, going back to a native app.. Of course there was a lot of discussion around the fact that maybe Facebook’s engineers are not the best and maybe they made some errors in architecting their app and their services, which is very possible.. Still, the same engineers are reaching better results with a native app (different code for each platform) than with a single code base.. That’s a sign that the promises of HTML5 are not fulfilled.. The other one I noticed was the firm Polyvore who dedicated a whole blog post to their issues with an HTML5 based application.. Eventually they had so many troubles that they, too, decided to scrap it and start fresh with Objective C, even though they had no experience with that language.. The post’s title says it all: “.. Web Developer Admits: Objective-C HTML5.. ”.. I think that after the craze of 2011, people are realizing (again) in 2012-2013 that really there is no silver bullet in software development.. Yes you can create cool experiences in HTML/JS but that takes work and it is not going to run everywhere magically.. And if you want to create great experiences, you’ll need to resort to per-device customization, which is going to take time and effort and eventually be so painful that it is easier to just go native and have a different app for each device type.. It’s good to see more reason coming back in the discussion.. Conferences.. 2012 was a really good year for conferences.. I was lucky and honored to be asked to speak at quite a few: TechDays Belgium, TechDays Netherlands, Microsoft Tech Conference in Baden Switzerland, Microsoft Days in Sofia Bulgaria, Shape in Zurich Switzerland, Microsoft TechDays in Dubai UAE, NDC in Oslo Norway, Oredev in Malmo Sweden.. I also spoke to some user groups in LA and Philadelphia through Live Streaming, talked on some podcasts, and attended the MVP Summit in February, and the Build conference in October, both in Redmond WA.. Meeting people from all over the world is always a great pleasure for me, and this year was no exception.. In conclusion.. Well that was a lengthy post wasn’t it :) It took me quite a long time to write, too, and gave me a good occasion to reflect on last year’s events and achievements.. I always said that I am blessed to get paid to do what I love, and it is still true after all these years.. Software development is an act of creation, and since the triumph of mobile computing, developing for these platforms has been even more fun than usual.. What we do is important, we are shaping the future of software, the future of user experience and doing our best to make the life of millions of people smoother and easier.. It is a noble goal.. Happy New Year 2013 to all, and happy coding!.. Laurent.. Laurent Bugnion (GalaSoft).. Subscribe.. |.. Twitter.. Facebook.. Flickr.. LinkedIn.. Sponsors.. to MVVM Light Toolkit.. Blog Syndication.. Subscribe in a reader.. " onclick="return fbs_click()" target="_blank" class="fb_share_link">Share on Facebook.. What I do:.. Silverlight 4 Unleashed.. Recommended links.. MVVM Light.. My blog.. About me.. Contact me.. My publications.. My business card.. This is a Microsoft Tag.. Download the reader.. for your mobile phone.. License.. GalaSoft by.. Laurent Bugnion.. is licensed under a.. Creative Commons Attribution 3.. 0 Unported License.. All source code on this site is licensed under the.. MIT license.. Copyright (c) 2000 - 2013 Laurent Bugnion (GalaSoft).. Social Networking.. Email me.. TripIt - Organize your travel.. Laurent Bugnion's Facebook profile.. www.. flick.. r.. com.. This is a Flickr badge showing public photos from.. Make your own badge.. here..

    Original link path: /
    Open archive

  • Title: GalaSoft Laurent Bugnion
    Descriptive info: .. Welcome to GalaSoft.. We can argue endlessly to know if these ventures will be successful or not, but honestly I donâ t have (a) the time and (b) the interest to do so.. Letâ s rather discuss what happened.. Itâ s clear that some opted out of it following the PR fiasco but it is also clear that there isnâ t a really satisfying alternative to build a certain type of applications.. Even though XAML is not completely stable yet, and some differences remain between these platforms, the fact remains that a large portion of a developerâ s skills are portable and allow us to get started very fast on any XAML-based platform.. So really, even if the title is â Silverlight MVPâ , we are all â XAML MVPsâ already J.. Thatâ s not really a huge surprise, considering that WPF is still the best technology to build desktop applications, also for Windows 8.. Of course these application wonâ t run on WinRT devices (such as Surface RT).. to desktop application, with which they may even share some code (thanks to C#, XAML and MVVM), but I donâ t think many are going to abandon the development of their desktop client to replace it with a WinRT app.. The uncertainties around Silverlightâ s fate probably played a role too, as well as the new improvements in.. Because itâ s still a private SDK, only a few firms have been invited to develop for this platform, and we have kept rather silent on which apps we developed for which clients.. Itâ s worth mentioning that it is XAML/C# under the covers, and that we are able to use the well-known development workflows, tools and patterns: MVVM (and MVVM Light), design time data, Blend, Visual Studio, etc.. Itâ s only when I got my Nokia Lumia 920 at the Build conference that I transferred my SIM card to it and  ...   I wrote about the â split personalityâ.. 6â â.. This is the only reason why I donâ t think I will ever travel only with the Surface, even though the battery life is fantastic, and it is an awesome device.. Steven Sinofskyâ s departure.. Personally, I think he was thank-you-very-muchâ ed by Steve Ballmer and then told he couldnâ t continue to divide Microsoft like he had been doing until now.. Of course experienced developers have been promised the famous â write once run everywhereâ many times before, and have been disappointed every time.. HTML and JavaScript alone wonâ t cut it, you need some frameworks to assist you, like every web developer knows.. But if you use jQuery, you donâ t have integration with the Windows 8 features.. So you have to put up with the inconveniences of JavaScript (weak typing, bad tooling) to gainâ ¦ well not much really.. Windows Phone 8 doesnâ t support HTML/JS for native application development.. betting on HTML5 was Facebookâ s biggest mistake.. Of course there was a lot of discussion around the fact that maybe Facebookâ s engineers are not the best and maybe they made some errors in architecting their app and their services, which is very possible.. Thatâ s a sign that the promises of HTML5 are not fulfilled.. The postâ s title says it all: â.. â.. And if you want to create great experiences, youâ ll need to resort to per-device customization, which is going to take time and effort and eventually be so painful that it is easier to just go native and have a different app for each device type.. Itâ s good to see more reason coming back in the discussion.. Well that was a lengthy post wasnâ t it :) It took me quite a long time to write, too, and gave me a good occasion to reflect on last yearâ s events and achievements..

    Original link path: /index.html
    Open archive

  • Title: GalaSoft - Publications and Articles
    Descriptive info: .. Publications and Articles.. in Programming.. by Laurent Bugnion.. Printed entirely in color, with helpful figures and syntax coloring to make code samples appear as they do in Visual Studio and Expression Blend!.. Using Silverlight 4, you can build richer and more powerful applications than ever before, and deploy them seamlessly in browsers, on desktop computers, and even on Windows Phone 7.. In Silverlight 4 Unleashed, Microsoft Silverlight MVP Laurent Bugnion covers everything you need to do all this, and much more.. The only full-color, example-rich guide to Silverlight 4 for experienced Microsoft developers, Silverlight 4 Unleashed illuminates the entire development process: from installing Silverlight tools to building great user experiences, managing data to optimizing application performance.. More info.. Amazon.. co.. uk.. Silverlight 2 Unleashed.. Silverlight is Microsoftâ s new web-based User Interface (UI) technology, based on Windows Presentation Foundation (WPF), which is introducing many revolutionary concepts in the world of UI development.. Silverlight uses XAML, with tools like Expression Design and Expression Blend, to create astonishing UI effects (such as gradients, compositions, and animations.. ) In addition to the richness of the UI elements, Silverlight 2 allows the use of C# or VB in addition to JavaScript to automate web pages.. With  ...   reading first! This page also lists.. multiple articles.. written by Laurent and others about the MVVM Light Toolkit.. Windows Presentation Foundation WPF.. Designer - Developer collaboration with WPF (.. Screencast.. ).. Simulating data in.. design mode.. in Microsoft Expression Blend.. Getting, sorting and filtering.. information in pure XAML (well almost).. Synchronizing animations (.. part 2: Asynchronous by nature.. part 1: Using built-in features.. Example of.. ItemsControl.. bound to an ObservableCollection.. Rotating background.. Animations.. in XAML and code-behind.. Windows Presentation Foundation.. Demo.. Enabling.. session management.. in XBAPs.. ActiveX.. Opening.. new windows.. Abstracting.. popups.. Standalone Silverlight Applications.. (stand Silverlight 2 beta 1).. Downloading Zipped files.. with the WebClient (stand Silverlight 2 beta 1).. Creating animations.. in code with Silverlight 1.. 1 (obsolete, removed).. NET general.. A simple.. AJAX service.. using Plain Old XML (POX), Part 1: Server-side implementation.. Using C# generics to.. extract enumerated flags.. from a numeric value.. Re-throwing exceptions.. without amnesia.. JavaScript.. JavaScript code minimizer.. (not obfuscator!) implemented in C#.. CSS length manipulation.. and conversion (em, px, pt.. ).. DHTML control:.. Positioning and scrolling effect.. Fading effect.. gslb.. CCookie.. : Using cookies with JavaScript.. CExplorer.. : Save Text Files.. Copyright (c) 2000 - 2013.. GalaSoft Laurent Bugnion.. This website reflects.. my views only..

    Original link path: /articles_en.html
    Open archive

  • Title: GalaSoft: About me
    Descriptive info: Information about me, my education, my working experience, told in an informal tone.. You can check this page if you wish to learn more about me as a person.. More.. Contact.. All the ways to get in touch with me: Address, Phone numbers, Email, MSN, Facebook, Twitter and more..

    Original link path: /About/
    Open archive

  • Title: GalaSoft - MVVM Light Toolkit
    Descriptive info: MVVM Light Toolkit.. in.. Jump to:.. Intro.. Installation and Creation.. Components.. Source and Codeplex.. Support.. Tutorials.. Donate.. Credits.. Praises.. New: MVVM Light Toolkit V4.. 1.. 26 on Nuget (.. Full.. Libs.. Change log.. ).. Introduction.. The main purpose of the toolkit is to accelerate the creation and development of MVVM applications in WPF, Silverlight and in the Windows Phone.. Like other MVVM implementations, the toolkit helps you to.. separate your View from your Model.. which creates applications that are.. cleaner and easier to maintain and extend.. It also creates.. testable applications.. and allows you to have a much thinner user interface layer (which is more difficult to test automatically).. This toolkit puts a special emphasis on the.. blendability.. of the created application (i.. e.. the ability to open and.. edit the user interface into Expression Blend).. , including the creation of design-time data to enable the Blend users to see something when they work with data controls.. Much has been written about MVVM as a pattern.. I recommend starting with the following:.. "Understanding the MVVM Pattern" (.. video.. source code.. "Deep Dive MVVM" (.. Also, read.. Josh Smith's article at MSDN.. Shawn Wildermuth's article.. about MVVM at MSDN.. Dan Wahlin also has a very good.. Getting Started with MVVM.. article.. The MVVM Light Toolkit installation procedure.. is described here.. To create a new MVVM Light application,.. check this article.. (for Visual Studio).. and this one.. (for Expression Blend).. This toolkit gathers libraries and helper components for.. Windows Presentation Foundation, Silverlight and for Windows Phone 7.. The.. GalaSoft.. MvvmLight.. library with helper classes:.. A.. ViewModelBase.. class to be used as the base class for ViewModels.. Messenger.. class (and diverse message types) to be used to communicate within the application.. Recipients only receive the message types that they register for.. Additionally, a target type can be specified, in which case the message will only be transmitted if the recipient's type matches the target parameter.. Messages can be.. anything from simple values to complex objects.. You can also use specialized message types, or create your own types deriving from them.. More information about the Messenger class.. MessageBase.. : A simple message class, carrying optional information about the message's sender.. GenericMessage T.. : A simple message with a Content property of type T.. NotificationMessage.. : Used to send a notification (as a string) to a recipient.. For example, save your notifications as constant in a Notifications class, and then send Notifications.. Save to a recipient.. NotificationMessage T.. : Same as above, but with a generic Content property.. Can be used to pass a parameter to the recipient together with the notification.. NotificationMessageAction.. : Sends a notification to a recipient and allows the recipient to call the sender back.. NotificationMessageAction T.. : Sends a notification to a recipient and allows the recipient to call the sender back with a generic parameter.. DialogMessage.. : Used to request that a recipient (typically a View) displays a dialog, and passes the result back to the caller (using a callback).. The recipient can choose how to display the dialog, either with a standard MessageBox, with a custom popup, etcâ ¦.. PropertyChangedMessage T.. : Used to broadcast that a property changed in the sender.. Fulfills the same purpose than the PropertyChanged event, but in a less tight way.. Command classes optimized for WPF and Silverlight and simplifying commanding in your application.. Available with or without generic parameter (.. RelayCommand T.. and.. RelayCommand.. For an in-depth analysis, I encourage you to read.. Using RelayCommands in Silverlight and WPF.. Extras.. library with optional classes:.. EventToCommand behavior.. , allowing you to bind any event of any UI element to an ICommand, for example on the ViewModel, directly in XAML.. This makes using Commands much easier, without writing code behind.. With the newest version, you can even get the EventArgs of the fired event directly in the ViewModel to handle it.. DispatcherHelper class.. , a lightweight class helping you to create multithreaded applications.. Project Templates.. for WPF and Silverlight applications, installed in.. Visual Studio.. and in.. Expression Blend.. Use File, New Project, Windows, Mvvm, MvvmLight to create a new fully functional MVVM application that you can extend.. For Silverlight, choose File, New Project, Silverlight, Mvvm, MvvmLight.. Item templates.. for WPF and Silverlight applications, to easily create new items in.. :.. Create a.. new.. ViewModel.. View.. ViewModelLocator.. , a class that holds and manages references to ViewModels.. Code snippets.. to speed up the addition of new properties (Visual  ...   T.. MVVM Light Toolkit Messenger V2.. Announcing the new Messenger component of the MVVM Light Toolkit, with a new simplified API.. By others.. MVVM Light Soup to Nuts.. (multipart series by Jesse Liberty).. An excellent series helping you to get started with various components of MVVM Light.. Highly recommended!.. Chris Koenig about MVVM Development.. (multipart series by Chris Koenig).. A great series of articles about MVVM using MVVM Light.. Silverlight 4 Beta, Drop Target et MVVM.. : (en francais, par Laurent Kempé) Utilise EventToCommand pour passer un fichier au ViewModel via the new Drap&Drop functionality in Silverlight 4.. MVVM Light Toolkit V2.. : (in English, by Laurent Kempé) Innoveo Solution is a Swiss firm using the MVVM Light Toolkit in the application that they are developing (.. cross posted here.. M-V-VM: ViewModels Intercommunication.. (in Italian, by Corrado Cavalli).. WPF and MVVM tutorial 08, messaging.. (in English, by Raffaele Garofalo) (who talks about the Galactic toolkit, and I think it would have been a cool name ;)).. Série d'articles sur l'approche MVVM pour WPF/Silverlight.. (in French, by Richard Clark).. Etude de cas : application Silverlight avec Twitter et MVVM Light.. Laurent Bugnionâ s MVVM light toolkit for Silverlight and WPF.. (in French, by Tweened).. MVVM light Toolkit für WPF und Silverlight.. (in German, forum thread with various authors).. If you are so enclined, you can.. donate to MVVM Light Toolkit.. Or, if you prefer, you can pay me a beer next time we re in the same vicinity.. Really, it is OK too :).. The creation of this toolkit would not have been possible without the following people:.. Josh Smith.. created the RelayCommand and gracefully allowed me to integrate it with very minor changes inside the toolkit and to distribute it.. He is also my go to guy when I have issues (with my code, I mean).. Marlon Grech.. started mentioning using a mediator pattern to communicate between ViewModels.. This discussion led me to create the Messenger class.. Jaime Rodriguez.. had numerous discussions with me regarding the creation of ViewModels and gave me food for thoughts.. Glenn Block.. helped me finalize some thoughts and sparked a lot of new ones.. He also gave me great motivation to write this toolkit, and is an early tester and reviewer of the toolkit.. Corrado Cavalli.. gave me a lot of fantastic feedback and ideas for new features or improving existing features, and was one of the very active early testers.. Laurent Kempé.. was often here to keep me company in the wee morning hours, to talk about the direction and features of the toolkit, and gave me very valuable feeback.. His team at.. Innoveo.. is using the MVVM Light Toolkit in their new WPF application, and very supportive when it comes to improving and testing the latest versions!.. Brian Henderson.. Rob Zelt.. helped test early versions and gave precious feedback and suggestions to improve the features.. Steven Robbins.. helped me with an issue and suggested I use a hack to solve it.. "I think you can safely say the worse line of code in your toolkit is my one :-)".. All the WPF Disciples.. for the MANY discussions we had around the pattern and the best way to implement it in various situations.. You guys all rock my world!.. Praises about the MVVM light toolkit.. MVVM Light Toolkit is simply awesome -.. @robymes.. Taking @LBugnion's MVVM Light Toolkit for a spin.. Effing A! Totally easy.. Mad props.. -.. @jmorrill.. #MVVM Light Toolkit is pretty nice.. Light and to the point! Fills in all the gaps we struggle with usually :) -.. @HydroMan.. I have been using #MVVM Light Toolkit by @LBugnion for a while now.. It's light on features, but still functional and very useful -.. @ShiverCube.. @LBugnion is taking out some of the monotony of implementing MVVM http://digg.. com/u15wEj with MVVM light toolkit, the monotony killer :-) -.. @gblock.. Just got the MvvmLight toolkit, looks great, good work! -.. @CSkardon.. just want to say I love mvvm lite.. I love the mediator pattern you have.. I use it evrywhere to decouple b/n view & vm interaction -.. @CoreyGaudin.. The Mvvm Light toolkit v3 alpha 2 by @.. LBugnion.. is very good.. @gulrog.. Agreed.. your EventToCommand code is very, very useful.. Already plugged it in and stripped out the old way I was doing it.. @DanWahlin.. Tweaking my RIA/MVVM app, I think I have fallen in love with MVVM Light s Messenger, a little too much.. @ShawnWildermuth..

    Original link path: /mvvm/
    Open archive

  • Title: GalaSoft - Donating
    Descriptive info: Donating to MVVM Light Toolkit.. If you feel that the work I provide to the community is worth it, you can donate by using the Donate button below.. This is greatly appreciated.. You can use Paypal to donate even if you do not have a Paypal account.. There is, of course, no obligation whatsoever.. If you prefer, you can rather get me a beer next time I am in a location near you ;)..  ...   the ads on my site is used to purchase services (such as domain name renewal, web server, source control server, etc), tools and software.. I also regularly donate to charity (see below).. Charity.. I used funds from my Paypal account to donate to the following organizations:.. Calcutta Rescue.. Girl Effect.. Swiss Cancer League.. Relief for Haiti.. Scott Hanselman's walk against diabetes.. Ronnie James Dio Stand Up & Shout Cancer Fund.. Developers for Wendy.. Thank you!..

    Original link path: /mvvm/donate/
    Open archive

  • Title: GalaSoft: About me
    Descriptive info: Short biography.. Laurent works as Senior Director for.. IdentityMine.. , one of the leading companies (and Gold Partner) for Microsoft technologies such as Windows Presentation Foundation, Silverlight, Pixelsense, Windows 8, Windows Phone, XBOX and generally User Experience.. He is based in Zurich Switzerland, where he lives with his wife Chi Meei and his two daughters Alise and Laeticia.. In October 2010, the book "Silverlight 4 Unleashed" that he wrote was published at Sams, an advanced sequel to "Silverlight 2 Unleashed" (published Oct 2008).. He writes for MSDN magazine and other publications, codes in Windows Phone, Windows 8, WPF, Silverlight, ASP.. NET and his blog is on http://blog.. 2013 is his 7th year as a Microsoft Most Valuable Professional and his first year as a Microsoft Regional Director.. He is also the author of the well-known open source framework MVVM Light for Windows Phone, Windows 8, WPF, Silverlight.. Longer bio.. This firm from Seattle is one of the leading companies (and Gold Partner) in the field of Microsoft technologies such as Windows Presentation Foundation, Silverlight, Pixelsense, Windows 8, Windows Phone, XBOX and generally User Experience.. Employing developers and designers working closely together, IdentityMine was mainly active in the US market, before 2008 when it opened a European branch based in Zurich, Switzerland.. Laurent was IdentityMine's first European employee, based in Zurich Switzerland, where he lives with his wife Chi Meei and  ...   and relationships with Microsoft.. Prior to that, he first wrote embedded C/C++, and then moved to desktop computers in Java, JavaScript, VB6, VBA and eventually.. NET (WinForms and ASP.. NET).. Privately, Laurent has also been very active, developing mainly websites and web applications in HTML, JavaScript, CSS, ASP and currently ASP.. NET.. He has done his best to contribute to the community, first in the JavaScript newsgroups, and then in the Microsoft community related to Windows Phone, Windows 8, WPF, Silverlight, ASP.. NET, C#.. He writes for MSDN Magazine and blogs regularly on.. In 2008, he earned a MCTS for Windows Presentation Foundation.. In 2009, he published the.. , a well known open source toolkit helping to build decoupled applications in Windows Phone, Windows 8, WPF, Silverlight.. This toolkit is today the basis for many applications, small and big.. It is still maintained and extended regularly.. He was awarded "Silverlight MVP of the year" in 2010 and is recognized as one of the most prominent experts worldwide for XAML, C#, Expression Blend and the MVVM pattern.. He is a frequent conference speaker, and was invited to talk in very large conferences such as the MIX conference in Las Vegas (2009, 2010, 2011), TechEd Europe (2010) as well as multiple TechDays and other local conferences in the USA and in Europe.. Images.. Available in:.. 900x900 pixels.. 450x450 pixels.. 150x150 pixels.. 150x199 pixels..

    Original link path: /intro_en.html
    Open archive

  • Title:
    Descriptive info: static file.. was generated.. back..

    Original link path: /index.aspx?actions=2
    Open archive

  • Title: Silverlight 2 Unleashed
    Descriptive info: in Programming -.. About the book.. Silverlight is Microsoft’s new web-based User Interface (UI) technology, based on Windows Presentation Foundation (WPF), which is introducing many revolutionary concepts in the world of UI development.. Use XAML to create state-of-the-art user interfaces.. Create XAML transforms and animations.. Design compelling user experiences with Microsoft Expression Blend.. Integrate media into your rich Internet applications.. Program Silverlight with both JavaScript and.. NET languages.. Deploy Silverlight content to web pages.. Encode videos with Expression Media Encoder.. Make the most of Silverlight elements, resources, and styles.. Use templates to quickly change your application’s look and feel.. Efficiently debug Silverlight code.. Use design tools to create graphics that import seamlessly into Silverlight.. Laurent Bugnion has been a software engineer since 1996.. He has worked with many programming languages and environments, including C, C++, Java, HTML/CSS/JavaScript, and, since 2002, the Microsoft.. NET platform.. He has been  ...   our best to provide a great book as soon as possible after Silverlight 2 is released.. In this effort, we work very closely with Microsoft to ensure that all the information we print is correct.. There were a few very last minute changes to the Silverlight 2 framework, after the book made it to the press already.. This page lists the errata.. Download the source code.. whole source code.. for Silverlight 2 Unleashed is available.. All samples are available in C#, and we're working on offering the samples in VB.. NET too.. Questions and Answers, Activities.. For each chapter, you will find on this page.. questions and answers.. allowing you to review and consolidate your understanding of the chapter.. The page also proposes activities related to the chapter.. This material will help you to "dig further" and deepen your knowledge of Silverlight 2.. Copyright © 2008 - 2010..

    Original link path: /SL2U/Default.aspx
    Open archive

  • Title: Designer - Developer collaboration with WPF (Screencast)
    Descriptive info: Designer - Developer, a new collaboration with WPF (Screencast).. List of videos.. Video Player.. History.. Prev.. Index.. Next.. On this page, you will find a recording of a demo I do when talking about the new collaboration between developers and designers with WPF.. With new tools and new concepts, WPF enables a different workflow which is not usual for developers and maybe even less for designers.. With this demo, I show how to use the Expression tools (Expression Design, Expression Blend) and Visual Studio to create a new WPF application.. Additionally, I show how to export many resources to a separate assembly (DLL) so that changing the look&feel of the application is as easy as replacing a DLL with another.. The presentation is a set of 7 videos.. You will need Silverlight V1.. 0 to see the videos.. Presentation slides.. I have a set of slides which I usually use to introduce the demo.. The slides give indications about the new roles and the new workflow.. I made a.. PDF document.. with the slides, and posted it here.. Do I have Silverlight?.. If you have Silverlight 1.. 0 installed on your system, you will see a moving logo  ...   over the lower section of the video player screen to let the controls appear.. Chapter 1:.. (8:42).. Creation, Windows properties.. Creating project in Studio.. Adding a Skins project in Studio.. First build.. Opening in Blend.. Window properties and style.. Chapter 2:.. (8:25).. Grid and borders.. Setting the grid.. Placing borders.. Filling the background.. Placing the brushes in resources.. Chapter 3:.. (6:53).. Adding buttons and template.. Adding buttons.. Basic template.. Adding a ContentPresenter.. Applying the templates to the buttons.. Chapter 4:.. (6:05).. Developer work.. Opening in Studio, WPF designer "Cider".. Event handlers, User controls.. Testing the application.. Chapter 5:.. (7:31).. Exporting from Expression Design, Importing in Expression Blend.. Exporting from Design.. Importing into Blend.. Checking the result.. Chapter 6:.. (6:51).. Buttons templates, First integration.. Designing the buttons.. Mouse over effect.. Positioning with margins.. Integration work, adding icons to the buttons.. Chapter 7:.. (6:17).. Making a new skin.. Copying the skin, opening the copy in Blend.. Change the borders.. Change the button template.. Change the mouse over effect.. Adding an animation when the button is clicked.. Copying the new skin in the application.. Testing the new skin, Conclusion.. Date.. Version.. Description.. 07.. 10.. 2007.. V1.. 0.. First release with Streaming videos..

    Original link path: /mydotnet/articles/article-2007100601.html
    Open archive

  • Title: WPF: Simulating data in design mode in Microsoft Expression Blend
    Descriptive info: WPF: Simulating data in design mode in Microsoft Expression Blend.. Simulating data, built-in.. XML test data.. CLR test data.. Test mode.. Release.. Download.. Conclusion.. Introduction.. Making a UI element "blendable" (i.. being able to edit that element in Microsoft Expression Blend) is very important if you want to enable a better workflow for the graphics designers.. In complex user interfaces, editing UI elements "in place", for example items in a ListView or a ComboBox can speed up the design by factors,.. In.. one past post.. another.. , I talked about my quest to display test data in Expression Blend.. The goal behind this is to enable the graphics designers to work on the controls' look and feel directly in Blend, and if possible directly in the element's context.. Instead of working on "bits" (typically on.. DataTemplates.. stored in resources), the designer is able to see the result of his work without starting the application! I eventually found a way with the help of IdentityMine's Jonathan Russ, and I am now able to give test data to our graphics designers, allowing them to work in a very comfortable way.. In this article, the technique detailed can be applied to any control deriving from ItemsControl.. That can be an.. directly, a.. ListView.. , a.. ListBox.. ComboBox.. , etc.. For simplicity, I will only show the examples for a ListBox control.. Simulating data in Blend, built-in feature.. You can actually already have Blend automatically generate test data for a ListBox.. The way to do this is as follows (Preconditions: I created a WPF application.. I created a class named "DataItem", with 3 properties "MyString", "MyInt" and "MyColor".. Inside the Window1 class, I added a public property "MyCollection" of type ObservableCollection.. This will be my data source for the ListBox).. In Blend, select the ListBox.. In the Properties tab, select the ItemsSource property.. In the dialog, select the tab "Element Property", then select the Window.. On the left hand side, you should see the property MyCollection.. Select this property.. Note that if you expand the "Advanced properties" expander, you can also set the trigger, binding direction, converter, etc.. In the same dialog, click on the button "Define DataTemplate".. Blend proposes a default DataTemplate based on the type of the properties included in DataItem.. For the string and the Int32, the proposed value is OK.. For the Color, it doesn't make much sense.. Just unselect the MyColor property.. Anyway the designers must rework the whole template later.. The only goal of that step is to have Blend create a DataTemplate in the resources, so that we can work on it.. Note the checkbox on the bottom: "Generate Sample Data".. Check that checkbox.. If you check the main window containing the ListBox now, you will see that Blend generated test data, 4 random strings "Apple", "Grapefruit", ""Pear" and "Banana", as well as 4 random integers.. This provides the designers with something to work on.. Of course, this only applies to simple data items, and if a complex data structure must be displayed, it will be necessary to create more elaborate test data.. How does it work?.. If you change to the XAML editor, you'll notice that Blend added 2 new namespaces to the Window declaration:.. xmlns:d.. ="http://schemas.. microsoft.. com/expression/blend/2006".. xmlns:mc.. openxmlformats.. org/markup-compatibility/2006".. mc:Ignorable.. ="d".. Also, the ListBox now has a new attached property:.. d:UseSampleData.. ="True".. If this property is set to false, or removed altogether, Blend will not create test data.. Note that this data is only used in Blend.. It will.. not.. be displayed in Cider (Visual Studio 2008 WPF designer).. XML test data.. Another way to display test data in Blend is to use an.. XmlDataProvider.. in the Window's resources.. However, I don't prefer that way of doing, because binding to an XmlDataProvider requires a different syntax than binding to a CLR object or to a DependencyProperty.. For instance, you need to use a XPath instead of a Path.. In general, UI is bound to CLR objects rather than to XML objects, so I think it makes more sense to use CLR objects also for the design mode.. Here is however how you can create inline test data in the XAML file, and bind to it.. Open the XAML file (Window1.. xaml) in Visual Studio.. Then in the Window's resources, add an XmlDataProvider as follows (note the empty xmlns declaration, which is needed!):.. x:Key.. ="MyXmlProvider".. XPath.. ="MyData".. x:XData.. MyData.. xmlns.. ="".. MyDataItem.. MyString.. ="Test data 1".. MyInt.. ="32".. MyColor.. ="#FFAABBCC".. ="Test data 2".. ="42".. ="Red".. /.. We need also to modify the DataTemplate as follows:.. DataTemplate.. ="MyTemplate".. StackPanel.. Background.. ="{Binding XPath=@MyColor}".. TextBlock.. Text.. ="{Binding XPath=@MyInt}".. ="{Binding XPath=@MyString}".. The ListBox must also be modified to comply with the XML XPath syntax:.. ItemTemplate.. ="{StaticResource MyTemplate}".. ItemsSource.. ="{Binding Source={StaticResource MyXmlProvider}, XPath=MyDataItem}".. HorizontalAlignment.. ="Stretch".. VerticalAlignment.. HorizontalContentAlignment.. VerticalContentAlignment.. Width.. ="Auto".. Height.. The disadvantages of using XmlDataProvider for test data are quite obvious in this simple example: The bindings must be modified to bind to the test data.. However, since the data is created in the XAML file itself, Blend is able to display the data:.. To be thorough, note that the XPath syntax also allows filtering the XML data.. Also, the XML test data can be defined in an external XML file, in which case the XmlDataProvider's Source property must be used.. Using a data provider and CLR objects as test data.. Since many applications use CLR objects as their datasource (and not XML data),  ...   the ListView it applies to.. If you move that resource to a ResourceDictionary somewhere else in the project (or in an external "Skins" DLL), you cannot edit in place any more, but instead the edited DataTemplate will be opened in a new window.. It's not too bad, but if that's a problem, you can always copy the DataTemplate temporarily in the same XAML file as the ListView, edit, and then copy it back to the original place.. In Blend, copy/paste of resources can be done by dragging-and-dropping resources in the Resources panel.. Test mode.. Another great side effect of the design mode as implemented here is the possibility to run the application in test mode.. Testing the UI in special conditions can be difficult, especially if data is coming from the network.. Having a network service generate test data in order to test the UI can be tricky, or even impossible.. Sometimes you want to create a simple test layer and hook your UI directly to it.. We will extend our example with a test mode in the DataProvider.. This boolean property is set by the Test UI.. In our simple example, the Test UI is placed in the same window as the ListView, and is a simple checkbox.. When the checkbox is checked by the user, the DataProvider is set in test mode, and the test data is generated.. To make things more interesting, we will create a lot of entries using a "for" loop.. Exactly the same data is used in design mode and in test mode.. However, it would be easy to create test data on the fly in test mode, to see the UI react in a dynamic way.. Running the application in test mode also allows visualizing the animations, which Blend often cannot display.. Animations triggered by a change of state, for example, cannot be seen in Blend, but can be easily simulated in test mode.. Modifying the DataProvider, it now becomes:.. _isInTestMode =.. false.. ;.. IsInTestMode { get {.. _isInTestMode; } set {.. (_isInTestMode ==.. ) {.. ; } _isInTestMode =.. ; MakeData(); } }.. DataProvider() { MakeData(); }.. void.. MakeData() {.. (_myCollection.. Count 0) { _myCollection.. Clear(); }.. (IsInDesignMode || IsInTestMode) {.. for.. byte.. index = 0; index 255; index++) { _myCollection.. "Test data ".. + index, index,.. FromArgb(255, index, 187, 204))); } }.. else.. // This is where you want to hook to a service, for example.. // For this simple demo, let's create dummy data.. _myCollection.. "Real data 1".. , 1,.. Yellow)); _myCollection.. "Real data 2".. , 2,.. Green)); } } }.. Release version of your application.. The last thing we need to take care of is the Release version.. Typically, a.. NET application is developed in Debug version, and then a Release version is created, for example using Visual Studio's configuration manager.. Typically in Release version, test code is not included, to avoid distributing unneeded code.. Note however that the Release version must be tested carefully, because "switching off" some code may create unwanted side effects! To remove code from the Release version, but leave it in the Debug version, we use the precompiler directive #if DEBUG, where DEBUG is a variable which is only defined in the Debug version (that's the default configuration in Visual Studio, check.. MSDN.. for details.. We will enclose our test-and-design mode code in "#if DEBUG" directives, so that it is only available in the application's debug version.. Additionally, we will create a "IsDebug" property, which will return true if the application runs in Debug mode, and false otherwise.. We will use this property's value to hide the test UI in release mode.. To do this, we simply bind the test UI's "Visible" property to the "IsDebug" property, but we must also use an out-of-the-box.. BooleanToVisibilityConverter.. to convert a boolean value to Visibility.. Visible or Visibility.. Collapsed.. The UI's code becomes:.. RowDefinitions.. RowDefinition.. ="*".. ="{DynamicResource MyTemplate}".. !--Test UI--.. Border.. Visibility.. ="{Binding Path=IsDebug, Converter={StaticResource BooleanToVisibilityConverter}, Source={StaticResource MyProvider}}".. Row.. ="1".. CheckBox.. Content.. ="Test mode".. Margin.. ="8,8,0,8".. Click.. ="CheckBox_Click".. with:.. ResourceDictionary.. ="BooleanToVisibilityConverter".. !--.. --.. As for the DataProvider's full code, it is now:.. IsDebug { get {.. #if.. DEBUG.. true.. #else.. #endif.. } }.. Download.. sample project.. is available for download.. It's a Visual Studio 2008 project.. If you want to get a Visual Studio 2005 project instead, send me an email.. The project demonstrates the techniques used here.. Conclusion.. I think that everyone will agree that having data showing up in Blend will make a designer's life much easier.. Using the integrated "Create test data" feature is a help, but often it is not enough to visualize a complex UI.. Using XML data is a good alternative, but only if the runtime data are also in XML form.. Since the binding to an XmlDataProvider is using a different syntax than to CLR collections, you'll have to change the syntax in runtime mode, which is annoying.. Using the same objects in design mode and runtime mode is a great advantage.. This allows in-place editing in Blend and in Cider, and provides a test mode almost for free, allowing to submit the UI to special conditions difficult to reproduce in real life, but which must be tested anyway.. All this speaks in favor of a design as introduced in this article.. I hope that it has made been clear enough, and will be happy to answer questions if you have some!.. 14.. 09.. First published version..

    Original link path: /mydotnet/articles/article-2007091401.html
    Open archive


  • Archived pages: 105