Я пытаюсь выяснить, как разложить простой диалог в WPF, используя соответствующие диалоговые модули (DLU).
Что такое диалоговое окно?
Диалог - это единица измерения, основанная на предпочтительном размере шрифта пользователя. Диалоговое окно определено так, что средний символ - 4 диалога единиц на 8 диалоговом уровне:
Это означает, что диалоговые блоки:
- изменить выбранный шрифт
- изменено с выбранной настройкой DPI
- не являются квадратными
я потратил около двух часов на определение этого диалогового окна образца из Windows Vista с различными измерениями dlu. Может ли кто-нибудь указать соответствующую разметку XAML, которая генерирует это диалоговое окно?
alt text http://i44.tinypic.com/30a7390.jpg (Ссылка на изображение)
Теперь, по общему признанию, я почти ничего не знаю о WPF XAML. Каждый раз, когда я начинаю, я становлюсь заглушенным, потому что я не могу понять, как разместить любой элемент управления. Кажется, что все в WPF должно содержаться на какой-то панели. Там StackPanels, FlowPanels, DockPanel, Grid и т.д. Если у вас нет одного из них, он не будет компилироваться.
Единственный XAML, с которым я смог придумать (uing XAMLPad):
<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 имеют разные размеры.
См. также
- Приложения WPF, которые настраиваются на настройки экрана и шрифта (Или, как бы связать DLU с единицами в WPF?)
- Размер шрифта WPF
- Кнопки WPF одинаковой/рекомендуемой ширины
- Версия WPF.ScaleControl?
- Руководства пользователя для пользователей Microsoft: рекомендуемые размеры и интервалы
- Руководство пользователя для пользователей Microsoft: показатели макета
Bump: 6/20/2011