2

Windows Phone の UI デザイン原則では、MS は、マルチスクリーンでの非互換を回避するために、コントロールの背景に単色の四角形またはコーディング グラデーションを使用することを推奨しています。ただし、多くの要件では、画像をコントロールの背景として使用する必要があります。次に、9 パッチ画像技術が使用されます。Android や IOs ではコアでサポートされていましたが、WP では不足しています。私は3つのアプローチでWPでそれを使用しようとしています:

  1. 9 セル グリッドの使用: 画像を 9 パッチにクリップし、それらをセルに配置します。それは問題なく動作しますが、多くのコントロールがあるとアプリのパフォーマンスが低下するのではないかと心配しています。

  2. カスタム ブラシの使用: ImageBrush として 9 パッチ イメージを描画するカスタム ブラシのみですが、MS はカスタム ブラシを許可していないようです。

  3. FramworkElement の使用: Rectangle、Ellipse のように... 9 パッチの画像を描画できる FrameworkElement を作成したい。ただし、低レベルのレンダリングは使用できません。

2番目と3番目のアプローチを実装するにはどうすればよいですか?

4

2 に答える 2

2

Android NinePatchDrawable とまったく同じように動作する Windows Phone 用のライブラリを作成しました。ビットマップ image.9.png、幅と高さを設定するだけです...そして完了!!! 必要なサイズに新しい画像を拡大縮小します。楽しめ :)。将来的には、さらにオプションを追加します:)。

GitHub リンク

于 2014-03-09T23:24:31.010 に答える
0

WriteableBitmap: http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.writeablebitmap(v=vs.95 .aspx

このようにして、背景をレンダリングする方法を完全に制御し、それを単一の Image コントロールに割り当てることができます。しかし、これは「9 つの画像コントロールを持つグリッドを使用する」方法よりもはるかに複雑であり、パフォーマンスの向上はおそらく重要ではありません。

于 2012-10-12T11:15:59.243 に答える