www.planet-xaml.net
  •  

    Blend

    Expression Blend

    • [BlendXAML]

      Will Caligari Truespace 3D become Expression 3D?

      by Florian Krüsch, February 16, 2008

      Microsoft acquires Caligari, the makers of the 3D modelling package trueSpace 3D. According to the sources, Microsoft will integrate it with Virtual Earth somehow.

      In my opinion, it would be kind of sad if TrueSpace would end just as a competitor to Google's Sketchup. Sure, that makes sense, but the real potential would be integrating it with Expression Studio or possibly XNA.

      There are exporters out there that convert 3D scenes to XAML, but I haven't seen the real thing so far. My guess is that we will see a paradigm shift towards 3D user interfaces, but today building them is really hard.

      cheers,
      Florian


      no comments
    •  ^
    • [BlendWPFXAML]

      Robby Ingebretsen über Blend und WPF

      by Florian Krüsch, November 5, 2007

      Robert Ingebretsen kennt sich mit WPF aus, wie kein zweiter.
      Er war Developer Evangelist für WPF bei Microsoft und ist nun einer der Masterminds bei Identity Mine, der wahrscheinlich besten WPF Schmiede überhaupt.

      Auf Channel 9 erläutert er seine Perspektive zu WPF als Plattform und zum Thema Designer/Developer Workflow: Robby Ingebretsen : Designers, Developers and Integrators

      Mit den wesentlichen Punkten trifft er genau ins Schwarze:

      • Designer leben in Photoshop, Developer in Visualstudio
        Blend ist ein Spezial-Tool für Integrators, also Interactive Design Spezialisten, die in beiden Welten zuhause sind. Wer einmal gesehen hat, wie reine Designer in Blend Panels zusammenwürfeln, weiss was er meint.
      • Es ist sinnvoll, Funktionalität in spezialisierte Custom Controls auszulagern. Diese sollten "Blendable" sein und sich z.B. nach aussen über sinnvolle Dependency Properties "customizen" lassen. Man sollte aber vorher prüfen, ob man die selbe Funktionalität nicht über Styles und Templates abbilden kann.
      • Man braucht ein starkes Konzept, um eine starke WPF Anwendung von vorne bis hinten durchzuziehen.
        Das ist sicher einer der Gründe, warum der OTTO Store so toll geworden ist.

      Wer jetzt seine WPF Skills aufbessern will, dem möchte ich noch das WPF Bootcamp ans Herz legen.

      Happy integrating,
      Florian


      no comments
    •  ^
    • [BlendXAML]

      Hacking Blend

      by Florian Krüsch, September 26, 2007

      If you're looking for ways to extend and customize Blend (and Cider) for your own needs, James Nakashima's blog is the one to watch.

      His trick on how to detect design mode (via Jaime) has been invaluable already on the handful of WPF projects I've been doing so far... Detecting design time can help you populate controls with suitable data or avoid execute code you don't need at designtime.

      The presentation James gave at TechEd is attached to this post. That looks pretty promising! You can even go so far and hook custom designers into Blend it seems.

      The things I've been playing around with so far is using TypeConverters and MarkupExtensions. TypeConverters can be useful if you want to help XAML or Blend to understand your custom types by converting back and forth to String.
      MarkupExtensions are powerful ways to hook your own services into XAML. Basically all that fancy curly bracket stuff in XAML like StaticResource/ DynamicResource, Binding Expressions or x:Static are markupextensions.

      One of the most powerful markupextensions I've come across is the EvalBinding extension in the blendables toolkit of IdentityMine. They're leveraging the JScript.NET compiler, which is a pretty neat idea... Leads me to an idea, how about using the IronRuby compiler there?

      If you want to get started writing your own markupextensions, take a look at the nice sample on the Windows SDK blog.

      cheers,
      Florian


      no comments
    •  ^
    • [WPFBlendXAML]

      WPF Projekte strukturieren: Resourcen

      by Florian Krüsch, June 27, 2008

      Eine Frage, die mir immer wieder gestellt wird ist, "Wie strukturiert man größere WPF Projekte?". Diese Frage muss man zunächst mal eingrenzen - geht es um die Architektur (Programmstruktur) oder um die Strukturierung der WPF spezifischen Assets (Controls, Styles, Bilder etc). Das ist eine Frage, die vor allem auch für Designer relevant ist.

      Architektur

      Die Frage nach der Architektur lässt sich sicher nicht ad-hoc beantworten. Es gibt Referenz-Architekturen wie Composite WPF (Prism) für Composite Smart Clients (Business Anwendungen, die sich aus verschiedenen unabhängigen Teilen zusammensetzen) oder Entwurfsmuster wie MVC und M-V-VM, die Ihre Stärken und Schwächen haben.

      Wie auch immer die Architektur im Detail aussieht, man sollte in der Präsentationsschicht die Stärken von WPF (DataBinding, Templates)nutzen und nicht dagegen arbeiten.

      Design Resourcen

      Die Strukturierung von Design-Resourcen dagegen ist eine Sache, die man sehr gut verallgemeinern kann. Die Struktur, die ich immer wieder erfolgreich für Projekte einsetze, basiert im Großen und Ganzen auf Paul Stovell's exzellenten XAML and WPF Coding Guidelines.
      Ich will hier nicht den Inhalt des Artikels wiedergeben, sondern auf die Dinge eingehen, die ich ein bischen anders mache:

      Resource-DLLs: wir packen i.d. Regel alle Resourcen in ein eigenes Projekt/DLL. Das hat den Vorteil, daß der Designer zum Testen ein eigenes, separates Projekt nutzen kann, das wie die eigentliche Anwendung die Resource-DLL einbindet.

      StaticResources: es stimmt, daß StaticResources eine Performance Verbesserung bringen. Andererseits wird damit die Reihenfolge, in der Resource Dictionaries eingebunden werden, auf einmal kritisch. Blend kommt damit oft nicht gut klar. Ich rate mittlerweile dazu, erst kurz vor Schluss von DynamicResource auf StaticResource umzustellen.

      Namenskonventionen:

      • Die PART_ Konvention ist nur für Teile (Parts) von Control Templates gedacht.
      • Für andere Namen (nicht zu verwechseln mit Resource-Keys) wählt man besser die selben Bezeichner, die man auch in C# benutzen würde und verwendet das x:Name Attribut zusammen mit x:FieldModifier.

      Resource Dictionaries: Was in Flash die Bibliothek ist, sind in WPF und Silverlight die Resource Dictionaries.
      Ich halte es für eine gute Idee, Resource Keys zu verwenden, die mit dem Filesystem übereinstimmen.
      Z.B. x:Key="Shared/Brushes/Background" Entsprechend würde ich die Datei dann auch Brushes.xaml statt BrushResources.xaml nennen.

      Wie bei der Implementierung selbst auch, ist die Bezeichnung von Resourcen eine sehr wichtige Sache und es zahlt sich aus, dabei sorgfältig vorzugehen.
      Ich würde bei der Namen-Wahl immer vom Verwendungszweck ausgehen:
      Z.B. statt
      x:Key="Brush_TransparentBlue
      besser:
      x:Key="Shared/Brushes/DialogButtonBackground


      Es ist sicher nicht immer einfach, so einen systematischen Aufbau im Team durchzusetzen und aufrecht zu erhalten, aber spätestens in der Wartungsphase oder nach dem Urlaub wird es sich auszahlen.

      Viel Spass,
      Florian


      no comments
    •  ^
    • [WPFBlend]

      Expression Blend für .NET 3.5 SP1

      by Florian Krüsch, May 13, 2008

      Wer sich die Beta des Service Pack 1 für Visual Studio 2008 und .NET 3.5 installiert hat und weiterhin Expression Blend benutzen möchte, wird sich wahrscheinlich erstmal wundern.

      Zum Glück wurde die Blend 2.5 Preview Version von Blend durch eine Version ersetzt, die mit dem Servicepack kompatibel ist:
      .NET Framework 3.5 Service Pack 1 Beta and Expression Blend

      Wer mit Silverlight 2 arbeitet, sollte sich das Service Pack besser nicht installieren!


      no comments
    •  ^
     

Language | Sprache

All[e]  |  english  |  deutsch
Tags
 

Profile

Florian Kruesch

I am working as a freelance software architect, developer and consultant in Düsseldorf, Germany.

My focus is on Microsoft technologies and .NET 3.0, especially WPF, ASP.net and SQL Server.

I've been a lead programmer on the WPF development of the OTTO Vista Store at SinnerSchrader Studios.

My client list includes DHL, LG and Ogilvy Interactive.