適切なダイアログ ユニット(DLU)を使用して、WPF で単純なダイアログをレイアウトする方法を見つけようとしています。
ダイアログユニットとは?
ダイアログは、ユーザーの好みのフォント サイズに基づく測定単位です。ダイアログ単位は、平均文字が幅 4 ダイアログ単位、高さ 8 ダイアログ単位になるように定義されます。
これは、ダイアログ ユニットが次のことを意味します。
- 選択したフォントで変更
- 選択した DPI 設定で変更
- 正方形ではありません
さまざまなdlu測定値を使用して、Windows Vista のこのサンプル ダイアログ ボックスの寸法を約 2 時間かけて測定しました。このダイアログ ボックスを生成する対応する XAML マークアップを教えてください。
(画像リンク)
確かに、私は WPF XAML についてほとんど何も知りません。コントロールを配置する方法がわからないため、開始するたびに困惑します。WPF のすべてが何らかのパネルに含まれている必要があるようです。StackPanels、FlowPanels、DockPanel、Gridなどがあります。これらのいずれかがないと、コンパイルされません。
これまでに(XAMLPadを使用して)思いついた唯一のXAML:
<DockPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Image Width="23" />
<Label>Are you sure you want to move this file to the Recycle Bin?</Label>
<Image Width="60" />
<Label>117__6.jpg</Label>
<Label>Type: ACDSee JPG Image</Label>
<Label>Rating: Unrated</Label>
<Label>Dimensions: 1072 × 712</Label>
<Button Content="Yes" Width="50" Height="14"/>
<Button Content="Cancel" Width="50" Height="14"/>
</DockPanel>
これは、派手な怪物としてレンダリングされます。どのコントロールも適切に配置またはサイズ設定されていません。ウィンドウにコントロールを配置する方法も、適切なサイズにする方法もわかりません。
誰かがそのスクリーンショットを XAML に変換できますか?
注:スクリーンショットを測定することは許可されていません。すべてのダイアログ ユニット (dlu) の幅と高さが指定されています。
注: 1 つの水平 DLU != 1 つの垂直 DLU。水平 DLU と垂直 DLU はサイズが異なります。
こちらもご覧ください
- 画面とフォントの設定に合わせて調整する WPF アプリケーション (または、DLU を WPF の単位に関連付けるにはどうすればよいでしょうか?)
- WPF グローバル フォント サイズ
- WPF ボタンと同じ/推奨される幅
- .ScaleControl の WPF バージョン?
- Microsoft ユーザー エクスペリエンス ガイドライン: 推奨されるサイズと間隔
- Microsoft ユーザー エクスペリエンス ガイドライン: レイアウト メトリック
バンプ: 2011 年 6 月 20 日