1

Windows 8 リリース プレビューと C#(VS 2012) を使用してメトロ アプリを開発しています。幅をにGrid設定するAuto方法 ありますか?動的に生成されます)。にある実際の幅を知る必要があります。試してみましたStackPanelGridnnGridStackPanel

 1)var Actualwidth = grid.ActualWidth;            
 2)var Minwidth = grid.MinWidth;
 3)var width = grid.Width;
 4)var Renderwidth = grid.RenderSize.Width;

結果は次のようになります

1 = 0.0
2 = 0.0
3 = NaN
4 = 0.0

実際の幅を取得する方法はありますか? 助けてください. よろしくお願いします

4

1 に答える 1

6

ActualWidthコントロールが測定されて配置されるまで設定されません。OnLoadedイベントを処理して、幅を取得してみてください。wpfの説明はこちらをご覧ください(winrtも同じ説明です)。Windows 8 API については、こちらを参照してください。

ElementName バインディングの目的で、ActualWidth は変更時に更新をポストしません (非同期で実行時に計算される性質のため)。ElementName バインディングのバインディング ソースとして ActualWidth を使用しないでください。ActualWidth に基づく更新が必要なシナリオがある場合は、SizeChanged ハンドラーを使用します。

于 2012-08-16T14:59:35.020 に答える