2013-01-22 7 views
0

Я разрабатываю меню в WPF. У меня есть это меню сезам Сейчас:Styled MenuItem на WPF

enter image description here

Когда меню парил, это выглядит как Users MENUITEM. Это код позади:

<Menu Grid.Column="0" Name="menuNavigation" > 
      <MenuItem Header="Users" > 
       <MenuItem Header="Register user"> 
        <MenuItem ToolTip="Register new user on database." /> 
       </MenuItem> 
       <MenuItem Header="Admin users"> 
        <MenuItem ToolTip="Update or delete a user." /> 
       </MenuItem> 
      </MenuItem> 
      <MenuItem Header="Identify"> 
       <MenuItem ToolTip="Start an identification." /> 
      </MenuItem> 
      <MenuItem Header="Authenticate"> 
       <MenuItem ToolTip="Start an authentication." /> 
      </MenuItem> 
      <MenuItem Header="Cameras"> 
       <MenuItem ToolTip="Manage connected cameras." /> 
      </MenuItem> 
     </Menu> 

Я хочу, чтобы эта светло-голубая граница исчезла, и я пытался имитировать особый эффект. Когда я нахожу его, я хочу, чтобы вокруг этого слова была какая-то белая круглая скобка, например, подчеркивая ее.

Может ли кто-нибудь дать мне представление о том, как начать с этого?

EDIT: я мог бы получить доступ к IsMouseOver события, но это, кажется, игнорировать меня. У меня есть этот стиль сейчас:

<!-- Menu navigation properties --> 
<Style TargetType="Menu"> 
    <Setter Property="Background" Value="{DynamicResource TopMenuGradient}" /> 
    <Setter Property="HorizontalAlignment" Value="Right" /> 
    <Setter Property="Foreground" Value="White" /> 
    <Setter Property="FontFamily" Value="Calibri" /> 
    <Setter Property="FontSize" Value="18" /> 
    <Setter Property="FontWeight" Value="Bold" /> 
    <Setter Property="Height" Value="50" /> 
</Style> 
<!-- MenuItem Style --> 
<Style TargetType="MenuItem"> 
    <Setter Property="BorderThickness" Value="0" /> 
    <Setter Property="Height" Value="50" /> 
    <Style.Triggers> 
     <Trigger Property="IsMouseOver" Value="True" > 
      <Setter Property="Foreground" Value="LightGray" /> 
      <Setter Property="Background" Value="White" /> 
     </Trigger> 
    </Style.Triggers> 
</Style> 

я мог удалить светло-голубую границу, но я хочу, чтобы изменить свойство Background, но MenuItem стиль, кажется, игнорируют меня ... частично. Я имею в виду: Foreground работает ... но не Background! Что не так?

+0

я не уверен, я понимаю, что вы хотите, чтобы это выглядело, как вы можете разместить макете регулировать photpshop-е изд изображение? –

+0

Жаль Рэйчел, не было на работе. Эта вторая статья более полезна для моего случая. Я отредактировал то, что хочу получить. – Sonhja

+0

Это часть ответа. Я все еще не знаю, как сделать событие зависания. Не могли бы вы предложить какие-либо предложения? – Sonhja

ответ

2

это полезно link от codeproject. Что касается зависания, управление сеткой WPF поддерживает как события MouseEnter, так и MouseLeave. Вы должны иметь возможность подключать обработчики событий для обоих.

Также обратите внимание на this

+0

Рэйчел, я отмечаю это как недействительный, пока я заканчиваю решение этого вопроса ... – Sonhja

+0

это нормально от меня .. –

Смежные вопросы