Usuário com melhor resposta
Dúvida menus wpf

Pergunta
-
Minha aplicação possui um menu com vários menus filhos. Só que quando eu clico em cima do menu pai (File) o evento dos filhos são ativados (Open,New, Save). Como eu posso cancelar no caso do clique no File e só deixar a ativação quando efetivamente o clique for em um dos filhos? Tentei o e.Handled no Evento click do menu File e não funcionou. Abaixo estão os commands dos eventos e a hierarquia do menu. Obrigado.
<Window.CommandBindings>
<CommandBinding CanExecute="New_CanExecute"
Executed="New_Executed"
Command="New"
x:Name="cmdnew">
</CommandBinding>
<CommandBinding CanExecute="Open_CanExecute"
Executed="Open_Executed"
Command="Open"
x:Name="cmdopen">
</CommandBinding>
<CommandBinding CanExecute="Save_CanExecute"
Executed="Save_Executed"
Command="Save"
x:Name="cmdsave">
</CommandBinding>
</Window.CommandBindings>
...
<MenuItem Header="File" Click="MenuItem_Click" ><MenuItem Header="New" Command="New"/>
<MenuItem Header="Open" Command="Open"/>
<MenuItem Header="Save" Command="Save"/>
<Separator/>
<MenuItem Header="Exit" />
</MenuItem>
Respostas
-
Me parece que você tem um erro aqui:
<MenuItem Header="File" Click="MenuItem_Click" >Nesta linha, você tem um handler para o evento Click do menu File. Isso faz que ele seja executado. Tente remover o Handler do item, deixando algo como:
<MenuItem Header="File">Bruno
- Marcado como Resposta Adriel CodecoModerator sábado, 30 de outubro de 2010 19:37
Todas as Respostas
-
Me parece que você tem um erro aqui:
<MenuItem Header="File" Click="MenuItem_Click" >Nesta linha, você tem um handler para o evento Click do menu File. Isso faz que ele seja executado. Tente remover o Handler do item, deixando algo como:
<MenuItem Header="File">Bruno
- Marcado como Resposta Adriel CodecoModerator sábado, 30 de outubro de 2010 19:37
-
Olá Bruce
O que está acontecendo é que Routed Event Click está se estendendo para os filhos
O que você deve fazer é remover o Event Handler do Click do MenuItem "File" e adicionar os EventHandlers para os MenuItems filhos.
Espero ter ajudado