SLを習い始めました。サイズ変更時にキャンバス内のすべての要素のサイズを変更しようとしました。しかし、私は正しい方法を見つけることができません。
これは私がしたことです
- キャンバス内のすべての子要素を反復処理します
- 新しいサイズに基づいてスケール X & Y を計算します
- そして、スケール値に各要素のサイズ プロパティを掛けます
しかし、SL3.0 では、UIelement に新しいサイズを設定するためのサイズ プロパティが見つかりません。サンプルコードの下
private void testCanvas_SizeChanged(object sender, SizeChangedEventArgs e)
{
var scaleX = e.NewSize.Width / e.PreviousSize.Width;
var scaleY = e.NewSize.Height / e.PreviousSize.Height;
for (int i = 0; i < testCanvas.Children.Count; i++)
{
UIElement ui = testCanvas.Children[i];
// but no ui.width or ui.height
}
}
また、サイズが変更されたキャンバスを基準にして各要素を新しい位置に移動するオプションを見つけることができません...
誰かが私に正しい方向を向けることができます..
アップデート:
MSCUIでこのようなことを達成したかった..より明確にするために、いくつかのスクリーンショットを追加しました
初期画面はこんな感じ。 代替テキスト http://img690.imageshack.us/img690/4611/initial.jpg
ウィジェットを展開すると、ズームされ、他のウィジェットが縮小します
代替テキスト http://img26.imageshack.us/img26/8725/afterexpand.jpg
ズーイングの部分だけを行う必要があります。何か案は??