2016-03-25 2 views
0

Когда щелкнуть MenuItem с дочерним элементом, а не командой стрельбы. Команда хорошо привязана.Как я могу запустить команду, где MenuItem с дочерним устройством

MenuItem без детской команды работает нормально.

<MenuItem Header = "TopMenu" Command = "{Binding TopCommand}"> <!-- Not firing --> 
    <MenItem Header = "ChildMenu" Command = "{Binding ChildCommand}" /> <!-- Fire --> 
</MeuItem> 

Итак, я с помощью взаимодействия ... не стреляя

<MenuItem Header = "TopMenu" Command = "{Binding TopCommand}"> <!-- Not firing --> 
    <i:Interaction.Triggers> 
     <i:EventTrigger EventName="PreviewMouseLeftButtonDown"> 
      <i:InvokeCommandAction Command = "{Binding TopCommand}"/> 
     </I:EventTrigger> 
    <i:Interaction.Trigger> 
    <MenItem Header = "ChildMenu" Command = "{Binding ChildCommand}" /> <!-- Fire --> 
</MeuItem> 

Как я могу использовать команды на MenuItem с ребенком?

благодарит вас

ответ

0

При нажатии кнопки в MenuItem, сначала проверяет, если он имеет дочерние элементы, если это правда, он отображает дочерние элементы, если оно ложно он запускает команду.

Однако вы можете использовать триггеры:

 <Menu> 
     <MenuItem Header="Father"> 
      <i:Interaction.Triggers> 
       <i:EventTrigger EventName="PreviewMouseLeftButtonDown"> 
        <i:InvokeCommandAction Command = "{Binding FatherCommand}"/> 
       </i:EventTrigger> 
      </i:Interaction.Triggers> 
      <MenuItem Header="Child" Command="{Binding ChildCommand}"></MenuItem> 
     </MenuItem> 
    </Menu> 

Этот код работает для меня.

+0

Использование метода триггера взаимодействия уже в моем вопросе. Но это не сработает. – user3214694

+0

Однако ваш код имеет некоторые ошибки '' '' – ganchito55

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