ThemeがDataGridに適用されない件への対応

(Silverlight Toolkit November 2008)
http://www.codeplex.com/Silverlight/Release/ProjectReleases.aspx?ReleaseId=18804

以前のエントリにAKさんからコメントがついて、その件について調べてみたんですが、
以下のXAMLが若干古いようです。
ExpressionDark.xaml
ExpressionLight.xaml
RainierOrange.xaml
RainierPurple.xaml
ShinyBlue.xaml
ShinyRed.xaml

「Themingサンプルの中のThemeBrowserのXAMLを使え」というSilverlightフォーラム
のやりとりを見つけました。
(XAMLファイルは上記Silverlight Toolkitのリンク先から入手して下さい)
修正したサンプルは以下のとおり。
http://www.dtpnet.jp/sl2/TestPage.html
http://www.dtpnet.jp/sl2/Page2.xaml.cs ソースcs
http://www.dtpnet.jp/sl2/Page2.xaml.cs ソースxaml


<Themeの使い方について> Using Silverlight Toolkit Theme(Apply from Code)


1.参照設定の追加
Microsoft.Windows.Controls
Microsoft.Windows.Controls.Input
Microsoft.Windows.Controls.Theming
Microsoft.Windows.Controls.DataVisualization
これら4つのDLLを追加する。(Themeの種類によっては2つか3つのDLLでOK)


2.using文の追加
using Microsoft.Windows.Controls.Theming;
を追加。

3.テーマのxamlの追加
使いたいテーマのxamlをビルドアクション=コンテンツにして追加。


4.使いたいThemeを指定して、ルート要素にSetApplyする
Uri uri = new Uri("RainierPurple.xaml", UriKind.Relative);
ImplicitStyleManager.SetResourceDictionaryUri(LayoutRoot, uri);
ImplicitStyleManager.SetApplyMode(LayoutRoot,ImplicitStylesApplyMode.Auto);
ImplicitStyleManager.Apply(LayoutRoot);


これでThemeが適用される。
InitializeComponent();をやってるところの最後のほうでやればOK。



MEMO(PageViewCounter:164227)