2

サイズがグラフの境界に比例する長方形を使用して棒グラフを作成しました。ただし、スナップビューなどの別のレイアウトに切り替えると、長方形の長さではなく、境界線のサイズのみが変更されます。レイアウトまたは解像度が変更されたことを検出し、関数を呼び出して長方形の長さを更新するにはどうすればよいですか?

4

2 に答える 2

1

これは、この正確なトピックに関するMSDNの記事です:http://msdn.microsoft.com/en-us/library/windows/apps/hh780612.aspx

Microsoftが傾倒していると思われる推奨アプローチもあります。これは、ビジュアル状態を使用してさまざまなビジュアルレイアウトの変更をトリガーすることです。

[ファイル]->[新しいプロジェクト]を実行してグリッドアプリアプリケーションを選択した場合、画面サイズの変更にフックしてさまざまな視覚的状態を起動するためのコード(App.csをチェックアウト)が既にあります。

興味があれば、このプロジェクトタイプの構造についてもブログ投稿を行いました:http://markmacumber.net/2012/08/anatomy-of-the-grid-app-template-in-vs2012-for- windows-8-c-xaml.html

于 2012-10-25T04:56:37.880 に答える
1

Snapped / FullScreenPortrait / FullScreenLandscapeの場合、レイアウトを変更するには、おそらく基本的なVisualStateManagerだけを使用する必要があります。

より高度な動作が必要な場合は、次のアプローチを使用
します。-ページにSizeChangedハンドラーを追加します
-アプリでルートGrid / Panel要素にx:Name = "Root"という名前を付け、水平方向と垂直方向に拡張します。
--SizeChangedイベントハンドラーで、Root.ActualWidthおよびRoot.ActualHeightにアクセスすることにより、実際の画面サイズを見つけることができます。ここでは、必要なものを表示/非表示/変更/サイズ変更できます。

于 2012-10-25T07:26:05.187 に答える