Приветствую всех. Поведение отдельных контролов в WPF более мение освоил. Но вот создавать интерфейс с большим набором контролов что-то не получаеться. Пробую создать окно: вверху меню, слева expander, а справа content в зависимости от того что выбрали в expander или меню. Так вот свойство DockPanel.Dock не срабатывает.
| Код |
<DockPanel LastChildFill="True"> <Menu DockPanel.Dock="Top" Height="20"> <MenuItem Header="_File"> <MenuItem Header="_New" InputGestureText="Ctrl+N"/> <MenuItem Header="_Open" InputGestureText="Ctrl+O"/> <MenuItem Header="_Save" InputGestureText="Ctrl+S"/> </MenuItem> <MenuItem Header="_Edit"> <MenuItem Header="_Copy" Command="ApplicationCommands.Copy"/> <MenuItem Header="C_ut" Command="ApplicationCommands.Cut"/> <MenuItem Header="_Paste" Command="ApplicationCommands.Paste"/> </MenuItem> <MenuItem Header="_View"> <MenuItem Header="Preview" InputGestureText="Ctrl+Y"/> <Separator/> <MenuItem Header="Show _Grid" IsCheckable="True"/> <MenuItem Header="Show G_uides" IsCheckable="True" IsChecked="True"/> <MenuItem Header="Show _Rulers" IsCheckable="True"/> </MenuItem> </Menu> <StackPanel Background="BlanchedAlmond" Width="200" DockPanel.Dock="Left"> <Expander Name="ExpanderClosed" Header="Eerst" Background="#EEEEEE" Width="100" Margin="10" IsExpanded="false"> <TextBlock> Expander content 1 </TextBlock> </Expander> <Expander Name="ExpanderOpen" Header="Tweede" Background="#EEEEEE" Width="100" Margin="10" IsExpanded="true"> <TextBlock> Expander content 2 </TextBlock> </Expander> <Expander Name="ExpanderMetButton" Header="Button" Background="#EEEEEE" Width="100" Margin="10" IsExpanded="false"> <StackPanel> <Button Width="80"> <Button.ContextMenu> <ContextMenu> <MenuItem Header="Groot" IsCheckable="True" IsChecked="True"/> <MenuItem Header="Klein" IsCheckable="True"/> <MenuItem Header="Kleiner" IsCheckable="True"/> </ContextMenu> </Button.ContextMenu> TestButton 1 </Button> <Button Width="80"> TestButton 2 </Button> <Button Width="80"> TestButton 3 </Button> </StackPanel> </Expander> </StackPanel> </DockPanel>
|
В качестве общего контейнера пробую применить DockPanel. Menu прилипает к верху без проблем. А вот expander, который я мосестил в StackPanel, а точнее сама панель к левому краю окна(DockPanel)липнуть не хочет. А упрямо остаеться в центре.
У кого какие мнения по этому поводу.
Или мне надо использовать только Grid в качестве основного элемента. Задавать ему колонки и строки, а уже в них "пихать" все остальное? |