===== Sketchflow alias. Expression Blend =====
====Before you start====
**When creating a new project:**
Add additional Silverlight Widgets, by referencing all from the [[http://silverlight.codeplex.com/releases|Silverlight Toolkit]] As described [[http://shawnoster.com/blog/post/Adding-Silverlight-Toolkit-Controls-to-the-Visual-Studio-and-Blend-Toolbox.aspx|here]] \\
The Toolkit is installed here:
C:\Program Files (x86)\Microsoft SDKs\Silverlight\v5.0\Toolkit\Apr10\Bin \\this accordeon is broken
C:\Program Files (x86)\Microsoft SDKs\Silverlight\v4.0\Toolkit\Apr10\Bin
IMPORTANT: add the dlls to BOTH structures, as show on the img to use the widgets.
{{http://i.imgur.com/P6d7R.png?100}}
====Start====
^What ^Where ^
|Step by Step introduction| [[http://www.expressionblendstepbystep.com/?content=Chapter1|here]]|
|Introduction into BEHAVIORS, TRIGGERS, AND ACTIONS | [[http://blogs.msdn.com/b/expression/archive/2009/03/23/an-introduction-to-behaviors-triggers-and-actions.aspx|here]]|
**Glossar**:
* **Actions** - An action is an object that can be invoked to perform an operation. Actions are best written to perform operations that are largely atomic in nature. That is, actions work best when they don’t rely on external state that needs to be persisted between invocations of the action, and that don’t have any dependencies on other actions existing or running in a particular order relative to their invocation. Good actions:
* Change a property
* Call a method
* Open a window
* Navigate to a page
* Set focus
* **Behaviors** - A behavior does not have the concept of invocation;
* As an example, consider a behavior that allows me to drag the object the behavior is attached to around with the mouse.
* listen to the mouse down,
* mouse move,
* mouse up events
===Tipps===
* Instead of adding something - dynamically: add it to a state, make it **invisible**, use "**ChangePropertyAction**" behaviour to make it visible again, on an action.
* Exctract independant modules with own behaviour (like Menus) to **component screens**. Because component screens can't have another connected component screens on SketchFlowMap - use States for animation.
==== Assets ====
===TabsControl> TabsItem===
Has useful properties:
IsSelected - boolean - activates the Tab
visibility - visible/collapsed - not opacity. Is whether visible, or not.
===SetDataStoreValueAction===
Can set a user defined store to a value, to define a custom UI state.
E.g. here setting "MyDataStore" to execute ChangePropertyAction depending on "MyDataStore" value.
{{http://i.imgur.com/RpG8O.png}}
{{http://i.imgur.com/wUt7j.png}}