3

LightSwitchアプリケーションのルックアンドフィールをカスタマイズするための最も合理化された方法を理解しようとしています。

私はいくつかのWPFおよびSilverlightアプリケーションを構築し、専用のクラスライブラリにリソースとして保存されている、ブラシ、スタイル、ストーリーボード、画像などの共通のセットを持っています。自分のユーザーコントロールはありません。スタイル、ブラシ、テンプレートなど、カスタマイズされたように見えるだけです。

次のアプリケーションをLightSwitchで構築することを選択しました。既存のWPFおよびSilverlightアプリと同じルックアンドフィールを維持したいと思います。そのため、既存のリソースを再利用したいと思います。

Extensibility Toolkitを調べて、ブラシなどのLSで使用されるリソースの一部にアクセスできましたが、スタイルとテンプレートがどこにあるかがわかりませんでした。

質問1:自分のリソース辞書をどこにマージして自分のスタイルとテンプレートをプラグインできますか?たとえば、ボタンに暗黙のスタイルがある場合、どこにマージしますか?

ツールキットのテーマアプローチを使用する場合、私が理解していることから、LightSwitchアプリケーションに適用される変更を確認するには、次の手順を実行する必要があります。a
)テーマプロジェクトをビルドする
b)以前にインストールした場合は拡張機能をアンインストールする
C)Visual Studioを再起動する
d)更新されたテーマ拡張機能を再インストールします
e)Visual Studioを再起動
しますf)LightSwitchソリューションをロードして実行します

私は何かが足りないのですか?私が見ている回避策は、通常のSilverlightプロジェクトを作成し、独自のリソースライブラリを使用することです。そして、特定のリソースの外観に満足し、それをLightSwitchで見たいと思ったら、それをテーマにマージして、上記の面倒なプロセスを実行します。

質問2:テーマをすばやく変更して実際の動作を確認するにはどうすればよいですか?

何が足りないのですか?SLとWPFでは非常に簡単なので、これはそれほど複雑ではないため、何かが足りない可能性があります。私がやりたいのは、LSアプリのどこかにリソースディクショナリをマージし、それを実行して実際の動作を確認することだけです。助けてください!:)

4

1 に答える 1

1

第 1 四半期では、単にリソース ディクショナリをマージするだけでは不十分です。IThemeExtension というあまり知られていないインターフェイスを実装し、クラスを ThemeExtension 属性で装飾する必要があります。それについてはあまり書かれていませんが、残念な名前を理解すれば ( StyleExtension や ControlStyleExtension のようなものと呼ばれていれば、おそらく混乱は少ないでしょうが、その名前は拡張機能であるという事実に由来しています。テーマに、追加のコントロール スタイルの形式で)、それは非常に単純です。

IThemeExtension インターフェイスには、IEnumerable(Of Uri) を返す必要がある GetControlStyleResources という 1 つのメソッドしか実装できません。その目的は、それぞれがコントロール スタイル定義を含む ResourceDictionary (XAML ファイルに格納されている) を指す 1 つ以上の URI 値を公開することです。

イタリック体のテキストは、私が Tim Leung と執筆中の「Pro Visual Studio LighSwitch 2011 Development」という本から引用したもので、2 月末に出版予定です。

Metro テーマのソースをダウンロードすると、Microsoft がこのテーマを使用して、コントロール スタイルの変更やブラシの色の変更を行っていることがわかります。(http://code.msdn.microsoft.com/LightSwitch-Metro-Theme-b1bfce24)

Q2 では、テーマを作成するときに、次の手順を使用してテストします。

  1. プロジェクトをビルドする
  2. 出力ウィンドウで VSIX へのリンクをクリックします。
  3. ウィザードに従ってテーマ拡張機能をインストールします
  4. LS プロジェクトを開きます (テーマを使用していないプロジェクトの場合は、プロジェクトのプロパティで [このプロジェクトで使用] チェックボックスをオンにする必要があります。テーマがまだ選択されていない場合は、選択する必要があります。プロジェクトのためにも)。
  5. LS プロジェクトを実行する

ステップ 4 の余分な作業は、テーマがまだ選択されていないプロジェクトに対してのみ行う必要があります。ここまでくれば、手順は非常に簡単です。拡張機能をアンインストール/再インストールする必要はまったくありません。テストするたびにバージョン番号を (1.0 から 1.0.1 などに) 増やしてください。拡張機能は、以前にインストールされたバージョン自体をアップグレードします。

それがすべて役立つことを願っています。

于 2011-12-29T03:48:13.433 に答える