0

MVVM で WPF を使用してシステムを開発していますが、次の問題を解決する最善の方法を見つけるのに苦労しています。

多くのコンポーネント (ユーザー コントロール) が特定の位置に描画されている画面があります。画面内のすべてのコンポーネントは、画面の VM によって計算されたバインドされた変数に従って、回転、移動、スケーリングされます。

ただし、この各コンポーネントは、内部変数と画面スケールに応じて、回転の中心、移動の原点、およびスケールが異なる場合があります。

この変換をユーザー コントロールで内部的に計算するにはどうすればよいですか? を使用する方が簡単なアプローチだと思いますが、Converter動作が異なるさまざまなユーザー コントロールが多数あるため、互いに非常によく似た複数のコンバーターを作成する必要があり、これは理想的なソリューションではありません。

助けてくれてどうもありがとう!

4

1 に答える 1

0

AにはRenderTransformOriginUIElementが 1 つだけあります。一部の変換では、その変換の原点を設定できますが、コントロール境界に対する座標 (例: ) ではなく、比例座標(例: )で設定できます。125, 34RenderOrigin0.5, 0.75

したがって、座標を使用できる場合は、問題ありません。

そうでない場合は、最初にコントロールを変換し、次に変換を実行し、次にコントロールを元に戻す変換グループを作成して、変換を構成できます。

さらに支援が必要な場合は、達成しようとしていることの例を投稿してください。

于 2012-05-21T14:12:11.233 に答える