Visual Studio 2008 / 2010
Create or open your WPF or Silverlight project.
Go to Project > Add Existing File, and select the desired reuxables theme (a
.XAML file).
Open the file app.xaml or application.xaml, and the add the highlighted line below:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="ThemeFile.xaml"
/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Expression Blend
Reuxables are extremely easy to use with Microsoft® Expression Blend™.
Create or open your WPF or Silverlight project in Blend.
Go to File > Add Existing File, and select the desired reuxables theme (a .XAML
file). Blend will automatically theme all controls based on the skin. That's
all you have to do!
Reuxables Themes ship with full source code and you can customize them any way you
like. You can use either Expression Blend 4.0 or higher, or Visual Studio 2008/2010
to edit the themes.
Use the following code to change themes from code. Replace the filename of the ResourceDictionary
with the appropriate filename.
Visual Basic
Application.Current.Resources.MergedDictionaries.Clear()
Dim UX As New Uri("Themes/MY_THEME_FILE.xaml", UriKind.RelativeOrAbsolute)
Dim RD As New ResourceDictionary()
RD.Source = UX
Application.Current.Resources.MergedDictionaries.Add(RD)
C#
Application.Current.Resources.MergedDictionaries.Clear();
Uri UX = new Uri("Themes/MY_THEME_FILE.xaml", UriKind.RelativeOrAbsolute);
ResourceDictionary RD = new ResourceDictionary();
RD.Source = UX;
Application.Current.Resources.MergedDictionaries.Add(RD);
All Reuxables Themes ship with a special brush called "WindowBackgroundBrush". Bind
your Window or Page root element's Background property, and you will get the appropriate
background.
<Grid Background="{DynamicResource WindowBackgroundBrush}">
Go to
Project menu > Add Reference and browse to the assembly (DLL file).
Open the file app.xaml or application.xaml, and the add one of the highlighted lines
below:
<Application.Resources>
<ResourceDictionary Source="/<assembly>;component/<theme_name>.xaml"
/>
</Application.Resources>
For example:
<Application.Resources>
<ResourceDictionary Source="/Odyssey;component/Odyssey_Original.xaml"
/>
</Application.Resources>;
See ASSEMBLY.TXT inside the download containing your theme. Each Assembly contains
this text file detailing the code required to assign each theme.
A single license such an Assembly or Source license gives you a single theme, and
any variations of that theme. A Subscription gives you full access to all themes
in the Reuxables Library. The Subscription is especially useful if you intend to use more than one theme on either single or multiple application projects, as well as adding new themes all the time.
If you would like to use the Reuxables Themes as they are, without customizing any
aspect of it, then the Assembly License is the most cost effective method to add
visual styles to your project.
In an effort to deliver better quality themes, we have retired our old themes that
were based on older Framework designs. We have started introducing new themes such
as Gemini and Developer, to address the new trends in visual styles as well as the
most requested features for Reuxables. Moving forward, by the end of 2010 we will
be introducing several new themes.
Paper 2010 has been upgraded and renamed to Gemini. It is now our flagship theme
and enjoys unique new styles and functionality.
Yes. The license for all Reuxables themes allows you to use them on as many of your
own applications as you like.
Yes. Microsoft often updates existing controls, like they did with .NET 4.0 and
Silverlight 4.0 where toolkit controls were moved into the core framework. As well
as new controls that ship with the Framework or as part of the WPF and Silverlight
Toolkit on CodePlex.
All Reuxables Themes apply themeing to all existing WPF 4.0 and Silverlight 4.0
core and SDK controls. All Toolkit controls in 'stable' state, as of June 2010 are
themed as well. Assembly and Subscription Lite do not include Toolkit support.
Yes. You can easily copy and paste bits from any existing template, and take it
to the the new/blank template of a 3rd party control and modify it to fit that control.
As you can imagine, there are way too many 3rd Party Controls for us to automatically
support, so we don't provide technical support for this. However, we do have
theme customization services where you can pay to have such templates designed
for you.
Yes and no. For simple modifications, it is very easy. But for extended modifications
or complete overhauls, an intermediate knowledge of XAML, ControlTemplates, and
control styling is required.
Yes, as long as you haven't modified the templating code, it will apply automatically.
For example, if you take a textbox control, subclass it, and add new events or properties,
it will apply automatically. However, if you subclass it to a degree where the template
VisualTree of the control is affected, skinning may be altered a bit. Fortunately,
we can provide limited tech support for this, so if you have trouble skinning a
subclassed control, we can help you either modify the skin or the subclassing code
to resume proper skinning.
Yes. This is a very popular practice as end-users love the ability to choose how
their application appears. We have seen a lot of success with this practice, and
encourage you to try it.
In the folder containing your theme ResourceDictionary, you will find an extra XAML
file called themenameTOOLKIT.xaml. For example, the theme Odyssey would have
Odyssey Original Toolkit.xaml and Odyssey Green Toolkit.xaml.
Add references to either of these (depending on which style theme you are using)
to your app.xaml or application.xaml file.
The Toolkits for WPF and Silverlight are evolving projects, so we have kept the
code for that in a separate toolkit enabling faster and efficient updates.
Please note, Toolkits are experimental and unreleased code releases from Microsoft,
and as such we don't provide support for it.
This is a known issue with Blend and Silverlight projects. To remove this error,
on any design surface (you can create a new Page just for this and delete it later)
create a control from each missing assembly shown. For example, a Data assembly
error will be removed if you create a DataGrid control.
Please note, Toolkits are experimental and unreleased code releases from Microsoft,
and as such we don't provide support for it.