私は、UWPアプリケーションでどのようにプログラム適応的な画面を作成する方法を見つけようとしていますが、関連するアイディアを得ることはできません。UWPアプリで画面をプログラム的に適応させる方法は?
0
A
答えて
0
アダプティブトリガは、アプリケーションのサイズに基づいてレイアウトを変更する最適なソリューションです。例については、https://www.microsoft.com/en-gb/developers/articles/week03aug15/designing-with-adaptive-triggers-for-windows-10/を参照してください。
二つのボタンのための簡単な例:アプリが600個のピクセルよりも広い
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="Narrow">
</VisualState>
<VisualState x:Name="Wide">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="600" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="TestButton2.Visibility" Value="Visible" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<StackPanel>
<Button x:Name="TestButton" Content="Test button" />
<Button x:Name="TestButton2" Content="Test button" Visibility="Collapsed" />
</StackPanel>
</Grid>
たら、第二ボタンが見えるようになります。
他のアプローチ
あなたは、ユーザーがページのサイズを変更するたびに発射されるPage
さんSizeChanged
イベントを、使用してサイズ変更に反応してページのレイアウトを変更することができます。しかしこれはきれいなアプローチではなく、組み込みの適応トリガを使用する方がはるかに適しています。
//in the page's constructor wire-up the SizeChanged event
this.SizeChanged += MainPage_SizeChanged;
private void MainPage_SizeChanged(object sender, SizeChangedEventArgs e)
{
if (e.NewSize.Width < 768)
{
//some layout changes
}
else if (e.NewSize.Width < 1024)
{
//some layout changes
}
else
{
//etc.
}
}
また、手動でコードからページの現在のVisualState
を切り替えることができます。
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CustomGroup">
<VisualState x:Name="ShowButtonState" />
<VisualState x:Name="HideButtonState">
<VisualState.Setters>
<Setter Target="TestButton.Visibility" Value="Collapsed" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Button x:Name="TestButton" Content="Test button" />
</Grid>
をし、コード内の状態を切り替える::
まずXAMLで、いくつかのVisualStates
を定義
if (someCondition)
{
VisualStateManager.GoToState(this, "HideButtonState", false);
}
else
{
VisualStateManager.GoToState(this, "ShowButtonState", false);
}
関連する問題
- 1. UWPアプリでホーム画面に戻る最良の方法
- 2. UWPアプリで画面を暗くする方法
- 3. uwpで複数の画面サイズをプログラムするには?
- 4. Windowsモバイルホーム画面をプログラム的に変更する方法
- 5. iosアプリ内でコードの画面を録画する方法は?
- 6. 画面の解像度に適応
- 7. QGLWidgetに画面を強制的に更新させる方法は?
- 8. ロック画面にプログラムで強制的にウィジェットを表示する方法(Android)
- 9. 応答的な画面サイズ
- 10. 私のアプリケーション画面のビデオをアンドロイドでプログラム的に記録する方法
- 11. 画面上部にTextBlockと画像を合わせる - uwp
- 12. Android:画面サイズに応じてプログラムでサイズを調整する
- 13. モバイルデバイス用にタグビデオを適応させる方法は?
- 14. iPhoneの画面をプログラムでロックする方法は?
- 15. 画面サイズに応じて、ブートストラップのHTMLコンポーネントを適応
- 16. CSS/HTML画面サイズの適応ブロック/タイル
- 17. イオン2で高応答画面を作る方法は?
- 18. フラグメントを画面の半分にスライドさせる方法は?
- 19. Androidアプリを作成してBackgrgound画像をホーム画面で循環させる方法は?
- 20. プログラムでホーム画面にウィジェットを表示する方法
- 21. Libgdxで画面を適切に廃棄する方法
- 22. ブートストラップ画像に応じてテキストを反応させる方法
- 23. アプリ:アプリ画面
- 24. UWPアプリを画面サイズに合わせるにはどうすればよいですか?
- 25. Android App一時的に画面の向きを回転させる方法
- 26. UWPでPC画面をキャプチャしてオーディオを録音する方法は?
- 27. 画面の中央にli'imagesを作成する方法(反応的)
- 28. スプラッシュ画面のAndroidローディングインジケータの長さをプログラム的に延長
- 29. UWPアプリでアプリのアップデートをテストする方法は?
- 30. Macで画面の色をプログラムで反転する方法
あなたが適応プログラムで何を意味するのですか?あなたはコードのページのレイアウトを変更したいですか? –
私はそのページのように表示するには、5つのボタンのコントロールとフルスクリーンサイズを表示するが、1つだけのボタンを表示すると、画面サイズが小さくなったので、どうすればいいですか? – Azarudeen
私はこのためのすべての可能なアプローチで私の答えを更新しました。 –