Есть ли способ сделать разделитель в меню WPF более узким?
Я заметил, что поле или высота разделителя по умолчанию, как он выглядит в меню в WPF, кажется немного больше, чем в некоторых других приложениях, таких как Visual Studio 2010. Я знаю, что эти разделители могут быть повторно шаблонизированы путем применения новый стиль с пользовательским шаблоном ControlTemplate, но, как всегда, я ищу любой возможный способ изменить это без необходимости вручную заново определять состав элемента управления.
Если то, о чем я прошу, невозможно, я приму ответ, если кто-то сможет дать убедительное и исчерпывающее объяснение. Также я хотел бы подчеркнуть, что мне не интересна лекция о том, как переопределить ControlTemplate, поскольку я рассматриваю это как последнее средство, и я уже знаю, как этого добиться.
2 ответа
Стиль для aero.normalcolor MenuItem Separator выглядит следующим образом:
<Style x:Key="{x:Static MenuItem.SeparatorStyleKey}"
TargetType="{x:Type Separator}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Separator}">
<Grid SnapsToDevicePixels="true" Margin="0,6,0,4">
<Rectangle Height="1"
Margin="30,0,1,1"
Fill="#E0E0E0"/>
<Rectangle Height="1"
Margin="30,1,1,0"
Fill="White"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Вам нужно будет скопировать этот стиль в ваш app.xaml и изменить Margin="0,6,0,4"
чтобы соответствовать вашим предпочтениям.
Я всегда использую отрицательную маржу: <Separator Margin="0,-4" />
,