Я бы настоятельно рекомендовал вам ознакомиться с панелями (и прикрепленными свойствами), прежде чем вы начнете играть с элементами управления, чтобы понять, как они расположены (особенно важно различие между панелями и ContentControls).В WPF панели решают, как расположены элементы управления (по крайней мере, основы, в рамках которых элементы управления говорят, что говорят).Это звучит так, как будто вы пытаетесь сделать WPF способом WinForms - и в итоге вы действительно расстроитесь и будете нуждаться в большом количестве транквилизаторов до того, как приблизится час ...:)
В VS Studio шаблон используетСетка как основа для разметки - которая по умолчанию центрирует и растягивает содержимое (а также накладывает элементы управления), поэтому простое перетаскивание меню в нем приведет к незаметным проектам.Панель инструментов и визуальный дизайнер.Конечно, это дело вкуса, но если вы привыкли использовать VS (в отличие от Blend), мне легче понять, что происходит, когда я редактирую необработанный XAML.
Несколько начальных ресурсов: ссылка и ссылка .И для более простой учебной среды для начала работы - мне очень понравилось Kaxaml (это сборка редактора в XAML / WPF, хотя и в .Net 3.5 sp1).
EDIT: небольшой пример- просто скопируйте все между тегами Window и вставьте их между тегами в шаблоне, которые дает вам Visual Studio:
<Window ....>
<DockPanel>
<Menu DockPanel.Dock="Top">
<MenuItem Header="_File">
<MenuItem Header="_Open"/>
<MenuItem Header="_Save"/>
<MenuItem Header="_Exit"/>
</MenuItem>
<MenuItem Header="_Edit">
<MenuItem Header="C_ut"/>
<MenuItem Header="_Copy"/>
<MenuItem Header="Paste"/>
</MenuItem>
<MenuItem Header="Help">
<MenuItem Header="About"/>
</MenuItem>
</Menu>
<GroupBox Header="Some interesting controls go here">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Label Content="_First property"/>
<TextBox Grid.Column="1"/>
<Label Grid.Row="1" Content="_Second property"/>
<TextBox Grid.Column="1" Grid.Row="1"/>
</Grid>
</GroupBox>
</DockPanel>
</Window>