2011-07-27 28 views
1

これはちょっと疑問に思えるかもしれませんが、少しフィードバックを探していました。 WPFアプリケーションの開発チームと一緒に作業しているデザイナーです。 Expression Blend 4をインストールしました。私はWPF/Silverlightを初めて使用しましたが、すぐに飛び込んできました。WPFブレンドツールとインターフェイスコントロール用の手作業でコーディングされたXAML

しかし、私はExpression Blendのを使用して、時には過度に不快なことができたときに発生する得ることができることをXAMLコードに気付きませんでした。たとえば、Blendでボタン用のコントロールテンプレートを作成しましたが、マークアップは100行のコードに似ていました。それから私は自分のコントロールテンプレートを作成しましたが、それは20行ほどしかありませんでした。まったく同じことをしました。私はリストビューと同じことをやった、うわー、その量のListViewテンプレートのために生成されたリッジクローズだった。もう一度、自分のスタイルとテンプレートを作成しました。その結果、xamlコードがほとんどなくなりました。

私たちが作成しているアプリはかなり大きくなると思うので、私の質問は、ブレンドGUIを使ってすべてのデザイン/インターフェース要素を単純に作成するとパフォーマンスが懸念されます生成されたコードは、より多くの広範なことができますか?デザインにBlendツールを使用することで、どのように作業が楽になるのかが分かりますが、Webサイトを設計するときと同じように、Dreamweaverでデザインビューを使用したことはありません。

洞察力があれば幸いです。

おかげでたくさんの個人的

答えて

1

私は私の手で書かれたコードの視覚表現の起草やリアルタイム表示のための任意のデザイナーを使用します。生成されたコードは恐ろしいことではないかもしれませんが、手作業で何かを行う必要がある場合は、自分で書かなかった場合に必要なものすべてを見つけるのは難しいでしょう。また、ブレンドはかなり多くのものを作成します(リソースの作成は&を参照してください)。ただし、一度しか使用されていない場合は、入れ子にするのが好きです(コードジェネレータが調整できるかどうかわかりません)。

あなたがちょうど彼らが自分自身、非常に巨大であり、それは本当に問題ではないのですが使用するデフォルトのものをコピーする場合、テンプレートは、大きなであることを性能も懸念すべきではありません。

+0

場所に物をネスティングすると混乱が増え、読みやすさが低下します。モジュラー設計は再利用性だけでなく、 –

+0

@HasanKhan:これは、ワークフローを妨害します(上に移動して参照されるリソースを見つける必要があるため)、オブジェクトレイアウトが線形になる(同じレベルで別のリソースが再配置される)ように見つけるのが難しくなります。 –

1

私はあなたが実際にあなたがBlendでコピーされたデフォルトの1とまったく同じことをしませんでしたボタン用に生成コントロールテンプレートを推測しています。あなたはそう思ったかもしれませんが、私は何かが欠けていたと思います。たとえば、テンプレートでボタンで使用されているall 9 visual statesを処理しましたか? XAMLの行が20行しかない場合はおそらくそうではありません。そして、はい、ListViewコントロールテンプレートは、カバーの下で非常に複雑なコントロールだからかなり大きいです。

一般に、大きなコントロールテンプレートを生成する心配はありません。それは起こるだろう。ランタイムはこれを非常にうまく処理します。 Dreamweaverとは異なり、Blendは一般的にかなり良いコードを提供します。ビジュアルスタジオで埋め込みリソースにビルドアクションを設定するなど、不適切なことをしてリソース辞書を誤用すると、パフォーマンスが問題になります。 (私はこれが解析され、代わりにコンパイル時の実行時にコンパイルされなければならない緩いXAMLファイルを作成すると信じています。)

あなたの正気を維持するための鍵は、組織です。ウェブサイトと同じように、コントロールテンプレートをどのように保存するのかという組織体系を考え出す必要があります。

+0

あなたが正しいです、私のコントロールはすべてのトリガー/または視覚的状態を考慮しませんでした。私がしたのは、オブジェクト/タイムラインパネルのボタンを右クリックし、テンプレートの編集→コピーの編集をクリックして、どのようなブレンドがMicrosoftのデフォルトテーマコード宣言を導入したかということでした。あまりにも組織化されていない、私が作成したものは、実際の見た目だけを考慮に入れました。しかし、正直さを保つことが正しいです、私は自分のスタイルやテンプレートを管理するためのきわめて組織化されたシステムを持っていると思います。 – kdub

+0

最初は、デフォルトのコントロールテンプレートがかなり歪んで見えます。しばらくそれをやっていれば、それは意味をなさないようになります。たとえば、ボタンテンプレートを読み込んで理解できるようになりました。リストビューのテンプレートは、私の頭の中で保持するには大きすぎます。しかし、それはブレンドが本当に輝く場所です。一度あなたはインとアウトを学びます。デフォルトのボタンテンプレートを生成してから、[状態]タブに移動してみてください。詳細情報が明らかになります。 :) –

関連する問題