Я новичок в XAML, поэтому я не знаю, как это сделать правильно. В моем дизайне должна быть строка меню сверху (ширина 100%), а затем другая панель с кнопкой слева и одна справа (100% ширина), после чего она должна быть боковой панелью слева (около 100 пикселей), а остальное должно быть «содержимым», поэтому я хочу разместить свои элементы управления (кнопки, списки, сетки, lkabWPF gui design with xaml
С моим кодом это выглядит неплохо, но боковая панель должна находиться под док-панелью, которая содержит два dockpanels.
http://oi66.tinypic.com/xf5dhw.jpg
<Window Background="#f5f5f5" Width="1280" Height="800" x:Class="WpfApplication3.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApplication3"
mc:Ignorable="d"
Title="primoxx">
<Grid>
<DockPanel LastChildFill="False" Grid.Row="0" HorizontalAlignment="Stretch" VerticalAlignment="Top">
<DockPanel DockPanel.Dock="Top">
<Menu DockPanel.Dock="Top">
<MenuItem Header="_Datei" />
<MenuItem Header="_Bearbeiten" />
<MenuItem Header="_Verwaltung" />
<MenuItem Header="_Vorlagen" />
<MenuItem Header="_Gestaltung" />
<MenuItem Header="_Extras" />
<MenuItem Header="_Hilfe" />
</Menu>
</DockPanel>
<DockPanel Background="White" LastChildFill="False" DockPanel.Dock="Top">
<Button Height="30px">My Button</Button>
</DockPanel>
</DockPanel>
<DockPanel Grid.Row="1" VerticalAlignment="Top">
<DockPanel DockPanel.Dock="Left">
<StackPanel>
<Button Style="{StaticResource subMenuButton}">Hello</Button>
</StackPanel>
</DockPanel>
<DockPanel DockPanel.Dock="Right">
</DockPanel>
</DockPanel>
</Grid>
Вы можете использовать '' Grid' с Rows' и 'Columns' вместо' DockPanel' –
Установки 'Grid.Row =«1»' ничего не делает для вас, если вы фактически не определяете некоторые строки в сетке. –