1

ユーザーコントロールを実装しましたが、ウィンドウの再スケーリングに問題があります。ウィンドウを小さくすると、すべてが拡大縮小され、すべてのテキストボックスとラベルも小さくなります。しかし、これは私が望んでいることではありません。画面を小さくすると、すべてが同じサイズのままになり、スクロールバーが表示されます(垂直方向と水平方向)。それ、どうやったら出来るの?

ありがとう

4

1 に答える 1

1

仮定
あなたが説明する動作は、WPFのデフォルトのレイアウト動作である必要はありません。使用するレイアウトコントロールによって異なります。グリッドを使用していて、その列と行を開始(*)-GridLengthsに設定していると仮定します。これは、あなたが説明するように(スケーリングなしで)多かれ少なかれそのような効果をもたらすでしょう。または、ViewBoxを使用している場合、このコントロールは使用可能なレイアウトサイズに基づいてコンテンツ全体をスケーリングします。
解決策
コンテンツ全体をScrollViewerにラップすると、おそらく希望どおりの結果が得られると思います。そうでない場合は、XAMLコードを投稿して、コンテンツをどのように作成したかを示すことをお勧めします。

<ScrollViewer>
    <YourContent>

    </YourContent>
</ScrollViewer>

更新
ウィンドウ を実際に拡大縮小し(ScaleTransformationを適用)、その中でUserControlを拡大縮小しない唯一のコントロールにしたい場合は、ウィンドウで行ったのとは反対の方向にUserControlを拡大縮小する必要があります。ScaleTransformationを適用し、スケール値を1/scaleに設定します。または、ViewBoxを使用してUserControlのコンテンツを爆破してみてください。ただし、これは正確ではありません。

于 2011-05-06T06:58:50.280 に答える